This commit is contained in:
		| @@ -1,18 +1,18 @@ | |||||||
| name: Build Docker | # name: Build Docker | ||||||
| on: | # on: | ||||||
|   release: | #   release: | ||||||
|     types: | #     types: | ||||||
|       - published | #       - published | ||||||
|  |  | ||||||
| jobs: | # jobs: | ||||||
|   create_docker: | #   create_docker: | ||||||
|     name: Create Docker Image | #     name: Create Docker Image | ||||||
|     uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/build-push-docker.yml@main | #     uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/build-push-docker.yml@main | ||||||
|     with: | #     with: | ||||||
|       release: ${{ gitea.event.release.name }} | #       release: ${{ gitea.event.release.name }} | ||||||
|       registry: ${{ vars.PACKAGES_REGISTRY_URL }} | #       registry: ${{ vars.PACKAGES_REGISTRY_URL }} | ||||||
|       actions_username: ${{ vars.ACTIONS_USERNAME }} | #       actions_username: ${{ vars.ACTIONS_USERNAME }} | ||||||
|       ghcr_username: ${{ vars.GHCR_USERNAME }} | #       ghcr_username: ${{ vars.GHCR_USERNAME }} | ||||||
|     secrets: | #     secrets: | ||||||
|       ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} | #       ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} | ||||||
|       GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }} | #       GHCR_TOKEN: ${{ secrets.GHCR_TOKEN }} | ||||||
|   | |||||||
| @@ -2,29 +2,101 @@ name: Release | |||||||
| on: | on: | ||||||
|   workflow_dispatch: |   workflow_dispatch: | ||||||
|   schedule: |   schedule: | ||||||
|     - cron: "0 9 * * 0" |     - cron: '0 9 * * 0' | ||||||
|  |  | ||||||
| jobs: | jobs: | ||||||
|   # test: |   # test: | ||||||
|   #   name: Test |   #   name: Test | ||||||
|   #   uses: https://git.tainton.uk/repos/roboluke/.gitea/workflows/ci.yml@main |   #   uses: https://git.tainton.uk/${{ gitea.repository }}/.gitea/workflows/ci.yml@main | ||||||
|   #   with: |  | ||||||
|   #     python-version: 3.13 |   tag: | ||||||
|   #   secrets: |     name: Tag release | ||||||
|   #     SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST_URL }} |     uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/release-with-tag.yaml@main | ||||||
|   #     SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} |  | ||||||
|   #     SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} |  | ||||||
|  |  | ||||||
|   create_release: |   create_release: | ||||||
|     name: Create Release |     name: Create Release | ||||||
|     # needs: test |     needs: tag | ||||||
|     uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/create-release.yml@main |     uses: https://git.tainton.uk/actions/gha-workflows/.gitea/workflows/create-release-preexisting-tag.yaml@main | ||||||
|  |     with: | ||||||
|  |       tag: ${{ needs.tag.outputs.tag_name }} | ||||||
|  |       body: ${{ needs.tag.outputs.changelog }} | ||||||
|     secrets: |     secrets: | ||||||
|       ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} |       ACTIONS_TOKEN: ${{ secrets.ACTIONS_TOKEN }} | ||||||
|  |  | ||||||
|   print_release: |   create_docker: | ||||||
|     name: Print Release |     name: Publish Docker Images | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     needs: create_release |     needs: [tag, create_release] | ||||||
|     steps: |     steps: | ||||||
|       - run: echo "Created release ${{ needs.create_release.outputs.release_name }}." |       - name: Update Docker configuration | ||||||
|  |         continue-on-error: true | ||||||
|  |         run: | | ||||||
|  |           mkdir -p /etc/default | ||||||
|  |           mkdir -p /etc/docker | ||||||
|  |           touch -a /etc/default/docker | ||||||
|  |           touch -a /etc/docker/daemon.json | ||||||
|  |           echo "DOCKER_OPTS=\"--insecure-registry ${{ vars.PACKAGES_REGISTRY_URL }}\"" >> /etc/default/docker | ||||||
|  |           echo "{\"insecure-registries\": [\"${{ vars.PACKAGES_REGISTRY_URL }}\"]}" > /etc/docker/daemon.json | ||||||
|  |  | ||||||
|  |       - name: Get repo name | ||||||
|  |         id: split | ||||||
|  |         run: echo "repo=${REPO##*/}" >> "$GITEA_OUTPUT" | ||||||
|  |         env: | ||||||
|  |           REPO: ${{ gitea.repository }} | ||||||
|  |  | ||||||
|  |       - name: Check out repository | ||||||
|  |         uses: actions/checkout@v4.2.2 | ||||||
|  |         with: | ||||||
|  |           fetch-depth: 0 | ||||||
|  |           ref: ${{ needs.tag.outputs.tag_name }} | ||||||
|  |  | ||||||
|  |       - name: Set up Docker Buildx | ||||||
|  |         uses: docker/setup-buildx-action@v3 | ||||||
|  |  | ||||||
|  |       - name: Log in to Gitea Container Registry | ||||||
|  |         uses: docker/login-action@v3 | ||||||
|  |         with: | ||||||
|  |           registry: ${{ vars.PACKAGES_REGISTRY_URL }} | ||||||
|  |           username: ${{ vars.ACTIONS_USERNAME }} | ||||||
|  |           password: ${{ secrets.ACTIONS_TOKEN }} | ||||||
|  |  | ||||||
|  |       - name: Log in to GitHub Container Registry | ||||||
|  |         uses: docker/login-action@v3 | ||||||
|  |         with: | ||||||
|  |           registry: ghcr.io | ||||||
|  |           username: ${{ vars.GHCR_USERNAME }} | ||||||
|  |           password: ${{ secrets.GHCR_TOKEN }} | ||||||
|  |  | ||||||
|  |       - name: Extract metadata (tags, labels) for Docker | ||||||
|  |         id: meta | ||||||
|  |         uses: docker/metadata-action@v5 | ||||||
|  |         with: | ||||||
|  |           tags: type=semver,pattern=v{{version}},value=${{ needs.tag.outputs.tag_name }} | ||||||
|  |           images: | | ||||||
|  |             ghcr.io/${{ vars.GHCR_USERNAME }}/${{ steps.split.outputs.repo }} | ||||||
|  |             ${{ vars.PACKAGES_REGISTRY_URL }}/${{ gitea.repository }} | ||||||
|  |  | ||||||
|  |       - name: Print metadata | ||||||
|  |         run: | | ||||||
|  |           printf "Annotations:\n${{ steps.meta.outputs.annotations }}" | ||||||
|  |           echo "" | ||||||
|  |           printf "Labels:\n${{ steps.meta.outputs.labels }}" | ||||||
|  |           echo "" | ||||||
|  |           printf "Tags:\n${{ steps.meta.outputs.tags }}" | ||||||
|  |  | ||||||
|  |       - name: Build images | ||||||
|  |         uses: docker/build-push-action@v6 | ||||||
|  |         with: | ||||||
|  |           context: . | ||||||
|  |           push: false | ||||||
|  |           load: true | ||||||
|  |           annotations: ${{ steps.meta.outputs.annotations }} | ||||||
|  |           labels: ${{ steps.meta.outputs.labels }} | ||||||
|  |           tags: ${{ steps.meta.outputs.tags }} | ||||||
|  |  | ||||||
|  |       - name: Push images | ||||||
|  |         run: | | ||||||
|  |           strtags="${{ steps.meta.outputs.tags }}" | ||||||
|  |           readarray -t lines <<<"$strtags" | ||||||
|  |           for element in "${lines[@]}"; do docker push "$element"; done | ||||||
|  |           unset strtags lines | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user