diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..c8f8016 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,8 @@ +version: 2 +updates: +- package-ecosystem: bundler + directory: "/" + schedule: + interval: daily + time: "13:00" + open-pull-requests-limit: 10 diff --git a/.github/workflows/build_container.yml b/.github/workflows/build_container.yml new file mode 100644 index 0000000..023cd9a --- /dev/null +++ b/.github/workflows/build_container.yml @@ -0,0 +1,60 @@ +--- +name: Build container 🐳 + +on: + push: + branches: + - 'main' + tags: + - '*' + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Get tags + shell: python + run: | + import re + import os + from packaging.version import parse + + image = "ghcr.io/${{ github.repository }}" + tags = set() + version = "${{ github.ref_name }}" + + if version.startswith('v'): + version = "${{ github.ref_name }}".replace("v", "") + tags.add(f"{image}:latest") + + if version == 'main': + version = "development" + + tags.add(f"{image}:{version}") + tags = ",".join(sorted(list(tags))) + + with open(os.environ['GITHUB_OUTPUT'], 'a') as fh: + print(f'tags={tags}', file=fh) + id: tags + + - name: Build and push + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.tags.outputs.tags }} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..799d45f --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,21 @@ +--- +name: QA🚦 + +on: + pull_request: + +jobs: + build_docker_image: + name: 'Test container build' + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Build container + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64 + push: false