Revamp CI/CD

This commit is contained in:
Luke Tainton 2024-07-13 12:15:03 +01:00
parent 59f98ea384
commit 932c1facb5
No known key found for this signature in database
2 changed files with 70 additions and 53 deletions

57
.github/workflows-old/release.yml vendored Normal file
View File

@ -0,0 +1,57 @@
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 }}
generateReleaseNotes: true
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"

View File

@ -1,57 +1,17 @@
name: Build
name: Release
on:
push:
branches: [main]
workflow_dispatch:
schedule:
- cron: "0 9 * * *"
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 }}
generateReleaseNotes: true
create_release:
name: Create Release
uses: luketainton/gha-workflows/.github/workflows/create-release.yml@main
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
create_docker:
name: Create Docker Image
needs: create_release
uses: luketainton/gha-workflows/.github/workflows/build-push-attest-docker.yml@main
with:
url: ${{ secrets.PORTAINER_WEBHOOK_URL }}
method: POST
timeout: 60000
preventFailureOnNoResponse: "true"
release: ${{ needs.create_release.outputs.new_tag }}