name: Release (PyPi, DockerHub) on: release: types: [published] jobs: pypi_release: name: Release on PyPi runs-on: ubuntu-22.04 if: github.repository == 'crocs-muni/sec-certs' environment: name: pypi url: https://pypi.org/project/sec-certs/ permissions: id-token: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.10" - name: apt-get update run: sudo apt-get update - name: Install build dependencies run: python -m pip install build - name: Build distributions shell: bash -l {0} run: python -m build - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@release/v1 docker_release: name: Release on DockerHub environment: name: dockerhub url: https://hub.docker.com/r/seccerts/sec-certs/ runs-on: ubuntu-latest if: github.repository == 'crocs-muni/sec-certs' steps: - name: Check out the repo uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: image: tonistiigi/binfmt:qemu-v7.0.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@v5 with: images: seccerts/sec-certs - name: Build and push id: docker_build uses: docker/build-push-action@v5 with: context: . platforms: linux/amd64,linux/arm64 file: Dockerfile push: true tags: ${{ steps.meta.outputs.tags }} - name: Update dockerhub description uses: peter-evans/dockerhub-description@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} repository: seccerts/sec-certs