diff --git a/.github/workflows/builder.yaml b/.github/workflows/builder.yaml new file mode 100644 index 0000000..1b94794 --- /dev/null +++ b/.github/workflows/builder.yaml @@ -0,0 +1,49 @@ +--- +name: "build-docker-image" + +on: + pull_request: + + push: + tags: + - "v*" + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + platform: [ linux/amd64, linux/arm64 ] + + steps: + - name: "Checkout the repository" + uses: actions/checkout@v4 + + - name: "Extract metadata for the Docker image" + if: github.event_name == 'push' && github.ref_type == 'tag' # Only extract metadata if we push a tag + id: metadata_extraction + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + + - name: "Login to GitHub Container Registry" + if: github.event_name == 'push' && github.ref_type == 'tag' # Only login if we push a tag + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: "Set up Docker Buildx" + uses: docker/setup-buildx-action@v3 + + - name: "Build and eventually push container image" + uses: docker/build-push-action@v6 + with: + context: . + file: ./Dockerfile + platforms: ${{ matrix.platform }} + tags: ${{ steps.metadata_extraction.outputs.tags }} + labels: ${{ steps.metadata_extraction.outputs.labels }} + push: ${{ github.event_name == 'push' && github.ref_type == 'tag' }} # Only push built image if we push a tag \ No newline at end of file diff --git a/.github/workflows/commit-checks.yaml b/.github/workflows/commit-checks.yaml new file mode 100644 index 0000000..b3a0cd3 --- /dev/null +++ b/.github/workflows/commit-checks.yaml @@ -0,0 +1,18 @@ +--- +name: "commits-checks" + +on: + pull_request: + +jobs: + commits-checks: + runs-on: ubuntu-latest + + steps: + - name: "Check out the repository" + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for all tags and branches + + - name: "Check commit messages" + uses: docker://aevea/commitsar diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml new file mode 100644 index 0000000..5ed06d7 --- /dev/null +++ b/.github/workflows/release-please.yaml @@ -0,0 +1,19 @@ +--- +name: "release-please" + +on: + push: + branches: + - main + +jobs: + release-please: + runs-on: ubuntu-latest + outputs: + releases_created: ${{ steps.release-please.outputs.releases_created }} + steps: + - uses: google-github-actions/release-please-action@v4 + id: release-please + with: + token: ${{ secrets.GITHUB_TOKEN }} + release-type: maven diff --git a/.gitignore b/.gitignore index 030930d..a07ca35 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ .idea/jarRepositories.xml .idea/modules.xml .idea/workspace.xml +.idea/uiDesigner.xml *.iws *.iml *.ipr diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 155ea54..5466105 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -140,6 +140,10 @@ +