Switch to automatic versioning

This commit is contained in:
2024-04-21 17:20:58 +01:00
parent 4df979ef6b
commit 618b8c149b
10 changed files with 157 additions and 31 deletions

View File

@ -1,16 +1,14 @@
name: CI
on:
push:
branches: [ main ]
pull_request:
types: [opened, synchronize, reopened]
paths-ignore:
- 'README.md'
- 'LICENSE.md'
- '.gitignore'
- '.github/CODEOWNERS'
- '.github/renovate.json'
- '.github/dependabot.yml'
- "README.md"
- "LICENSE.md"
- ".gitignore"
- ".github/CODEOWNERS"
- ".github/renovate.json"
- ".github/dependabot.yml"
jobs:
pythonci:

View File

@ -1,19 +0,0 @@
name: Build
on:
push:
branches: [main]
jobs:
build:
name: GitHub Container Registry
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
- name: Login to GitHub Container Registry
run: echo ${{ secrets.GHCR_ACCESS_TOKEN }} | docker login ghcr.io -u luketainton --password-stdin
- name: Build image for GitHub Package Registry
run: docker build . --file Dockerfile --tag ghcr.io/luketainton/webexmemebot:${{ github.sha }} --tag ghcr.io/luketainton/webexmemebot:latest
- name: Push image to GitHub Package Registry
run: |
docker push ghcr.io/luketainton/webexmemebot:latest
docker push ghcr.io/luketainton/webexmemebot:${{ github.sha }}

56
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,56 @@
name: Build
on:
push:
branches: [main]
jobs:
release:
name: Release
runs-on: ubuntu-latest
outputs:
new_tag: ${{ steps.tag_version.outputs.new_tag }}
steps:
- uses: actions/checkout@v4
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v6.2
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 }}
publish:
name: GitHub Container Registry
runs-on: ubuntu-latest
needs: release
steps:
- uses: actions/checkout@v4
- name: Login to GitHub Container Registry
run: echo ${{ secrets.GHCR_ACCESS_TOKEN }} | docker login ghcr.io -u luketainton --password-stdin
- name: Build image for GitHub Package Registry
run: |
docker build . --file Dockerfile \
--build-arg "version=${{ needs.release.outputs.new_tag }}" \
--tag ghcr.io/luketainton/webexmemebot:${{ needs.release.outputs.new_tag }} \
--tag ghcr.io/luketainton/webexmemebot:latest
- name: Push image to GitHub Package Registry
run: |
docker push ghcr.io/luketainton/webexmemebot:latest
docker push ghcr.io/luketainton/webexmemebot:${{ needs.release.outputs.new_tag }}
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"