From 8a6c5d0c6002f45d95c36da431106878973d320f Mon Sep 17 00:00:00 2001 From: Brutus5000 Date: Sat, 28 Oct 2023 01:34:21 +0200 Subject: [PATCH] Add CI pipeline + dependabot --- .github/dependabot.yml | 6 ++++++ .github/workflows/build.yaml | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/build.yaml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..b00c3bd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "gradle" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..8c43afb --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,38 @@ +name: Build +on: [push] +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + - name: Get tag or branch + id: get_tag_or_branch + run: | + if echo $GITHUB_REF | grep -Eq '^refs\/tags\/.*'; then + echo ::set-output name=TAG_OR_BRANCH::${GITHUB_REF#refs/tags/} + else + echo ::set-output name=TAG_OR_BRANCH::${GITHUB_REF#refs/heads/} + fi + - name: Gradle test + if: github.ref != 'refs/heads/master' && ! startsWith(github.ref, 'refs/tags') + env: + GRADLE_CLI_OPTS: "-Dversion=${{steps.get_tag_or_branch.outputs.TAG_OR_BRANCH}} -Pvaadin.productionMode=true -Dquarkus.container-image.builder=docker" + run: "chmod +x ./gradlew && ./gradlew ${GRADLE_CLI_OPTS} build" + - name: Login to DockerHub + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags') + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and push Docker images + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags') + env: + TAG_OR_BRANCH: ${{steps.get_tag_or_branch.outputs.TAG_OR_BRANCH}} + GRADLE_CLI_OPTS: "-Dquarkus.container-image.tag=${{steps.get_tag_or_branch.outputs.TAG_OR_BRANCH}} -Dversion=${{steps.get_tag_or_branch.outputs.TAG_OR_BRANCH}} -Pvaadin.productionMode=true -Dquarkus.container-image.push=true -Dquarkus.container-image.build=true -Dquarkus.container-image.builder=docker -Dquarkus.container-image.group=faforever" + run: "chmod +x ./gradlew && ./gradlew ${GRADLE_CLI_OPTS} build"