roboluke-tasks/.github/workflows-old/release.yml

65 lines
2.0 KiB
YAML
Raw Permalink Normal View History

2023-10-20 20:43:15 +02:00
name: Build
on:
push:
branches: [main]
2024-06-04 23:30:11 +02:00
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
2023-10-20 20:43:15 +02:00
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
new_tag: ${{ steps.tag_version.outputs.new_tag }}
2023-10-20 20:43:15 +02:00
steps:
- uses: actions/checkout@v4
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
2023-10-20 20:43:15 +02:00
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: minor
- name: Create a GitHub release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.tag_version.outputs.new_tag }}
name: ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
2024-04-26 18:03:23 +02:00
generateReleaseNotes: true
2023-10-20 20:43:15 +02:00
publish:
name: GitHub Container Registry
runs-on: ubuntu-latest
needs: release
2024-06-04 23:30:11 +02:00
permissions:
contents: read
packages: write
2023-10-20 20:43:15 +02:00
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
2024-06-04 23:30:11 +02:00
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ${{ env.REGISTRY }} -u ${{ github.actor }} --password-stdin
2023-10-20 20:43:15 +02:00
- name: Build image for GitHub Package Registry
2024-04-21 17:52:55 +02:00
run: |
docker build . --file Dockerfile \
--build-arg "version=${{ needs.release.outputs.new_tag }}" \
2024-06-04 23:30:11 +02:00
--tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }} \
--tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
2023-10-20 20:43:15 +02:00
- name: Push image to GitHub Package Registry
run: |
2024-06-04 23:30:11 +02:00
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ needs.release.outputs.new_tag }}
2024-07-13 11:35:02 +02:00
# deploy:
# name: Update Portainer Deployment
# runs-on: ubuntu-latest
# needs: publish
# steps:
# - uses: fjogeleit/http-request-action@v1
# with:
# url: ${{ secrets.PORTAINER_WEBHOOK_URL }}
# method: POST
# timeout: 60000
# preventFailureOnNoResponse: "true"