Toolbox/.gitea/workflows/ci.yml

73 lines
2.2 KiB
YAML
Raw Normal View History

# Automatically build the project and run any configured tests for every push
# and submitted pull request. This can help catch issues that only occur on
# certain platforms or Java versions, and provides a first line of defence
# against bad commits.
name: Test and Deploy
2023-03-21 08:57:52 +01:00
on:
push:
branches: [ master, dev ]
pull_request_target:
branches: [ master, dev ]
2023-06-13 21:40:11 +02:00
env:
2023-06-13 21:49:55 +02:00
REPO_USERNAME: Altarik
2023-06-13 21:40:11 +02:00
REPO_PASSWORD: ${{ secrets.REPO_PASSWORD }}
2023-07-26 23:36:01 +02:00
DISCORD_PUB_ID: ${{ secrets.DISCORD_PUB_ID }}
DISCORD_PUB_TOKEN: ${{ secrets.DISCORD_PUB_TOKEN }}
jobs:
build:
strategy:
2023-03-21 09:00:01 +01:00
matrix:
2023-03-21 09:03:34 +01:00
java: [ '17' ]
os: [ ubuntu-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: checkout repository
uses: actions/checkout@v3
2023-03-21 09:04:54 +01:00
- name: validate gradle wrapper
2023-03-21 08:30:25 +01:00
uses: https://github.com/gradle/wrapper-validation-action@v1
2023-03-21 08:46:21 +01:00
- name: setup jdk ${{ matrix.Java }}
2023-03-21 09:06:14 +01:00
uses: actions/setup-java@v3
with:
2023-03-21 08:46:21 +01:00
java-version: ${{ matrix.java }}
2023-03-21 08:38:41 +01:00
distribution: 'oracle'
- name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
2023-06-13 21:12:34 +02:00
run: |
chmod +x ./gradlew
touch local.properties
- name: build
run: ./gradlew build # compile classes, testClasses, assemble in jar and javadocJar, and then test
2023-06-13 21:59:12 +02:00
deploy:
2023-06-13 22:52:03 +02:00
strategy:
matrix:
java: [ '17' ]
os: [ ubuntu-latest ]
runs-on: ${{ matrix.os }}
2023-06-13 21:59:12 +02:00
if: gitea.ref == 'refs/heads/master'
needs: build
steps:
2023-06-13 22:28:14 +02:00
- name: checkout repository
uses: actions/checkout@v3
- name: validate gradle wrapper
uses: https://github.com/gradle/wrapper-validation-action@v1
- name: setup jdk ${{ matrix.Java }}
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java }}
distribution: 'oracle'
- name: make gradle wrapper executable
if: ${{ runner.os != 'Windows' }}
run: |
chmod +x ./gradlew
touch local.properties
2023-06-13 21:59:12 +02:00
- name: deploy
run: ./gradlew publish
- name: create tag
run: ./gradlew createTag
- name: Report to Discord
run: ./gradlew reportToDiscord
2023-03-23 22:02:32 +01:00