From ea640b244a1a6582ca148c026f8d73553744f424 Mon Sep 17 00:00:00 2001 From: Hugo Bollon Date: Fri, 19 Jul 2024 15:30:59 +0200 Subject: [PATCH] ci: add release workflow --- .github/workflows/release.yml | 64 +++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..06863982 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,64 @@ +name: GHCR Release CI + +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+" + +env: + HAS_SECRETS: ${{ secrets.HAS_SECRETS }} + +jobs: + tests: + name: Release new Docker Image in GHCR + strategy: + matrix: + python-version: [3.12] + os: [ubuntu-latest] + runs-on: ${{ matrix.os }} + timeout-minutes: 60 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Initialise gopass + uses: camptocamp/initialise-gopass-summon-action@v2 + with: + ci-gpg-private-key: ${{secrets.CI_GPG_PRIVATE_KEY}} + github-gopass-ci-token: ${{secrets.GOPASS_CI_GITHUB_TOKEN}} + if: env.HAS_SECRETS == 'HAS_SECRETS' + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Upgrade pip version + run: | + python -m pip install -U pip + + - run: echo "${HOME}/.local/bin" >> ${GITHUB_PATH} + + - name: Install CI dependencies + run: python3 -m pip install --user --requirement=ci/requirements.txt + + - name: Environment information + run: c2cciutils-env + env: + GITHUB_EVENT: ${{ toJson(github) }} + + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{github.repository_owner}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: Build Docker images for GHCR + run: make build_ghcr + + - name: Push Docker images to GHCR + run: make push_ghcr