ci: update deployment workflow

This commit is contained in:
2024-12-01 06:29:02 -07:00
parent 2d1238be73
commit 34f1cfdd32

View File

@@ -34,8 +34,14 @@ env:
# # # #
jobs: jobs:
docker-release:
name: "Push Release" # #
# Job > Docker Release > Github
# #
docker-release-github:
name: >-
📦 Release Github
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
@@ -44,45 +50,175 @@ jobs:
id-token: write id-token: write
steps: steps:
- name: "☑️ Checkout" # #
uses: actions/checkout@v4 # Release > Github > Start
id: task_release_checkout # #
with:
fetch-depth: 0
- name: "⚙️ Set up QEMU" - name: "✅ Start"
uses: docker/setup-qemu-action@v3 id: task_release_gh_start
run: |
echo "Starting Github docker release"
- name: "⚙️ Set up Docker Buildx" # #
id: buildx # Release > Github > Checkout
uses: docker/setup-buildx-action@v3 # #
with:
version: latest
driver-opts: 'image=moby/buildkit:v0.10.5'
- name: " Login to DockerHub" - name: " Checkout"
if: github.event_name != 'pull_request' id: task_release_gh_checkout
uses: docker/login-action@v3 uses: actions/checkout@v4
with: with:
registry: ghcr.io fetch-depth: 0
username: ${{ github.actor }}
password: ${{ secrets.SELF_TOKEN_CL }}
- name: "🔨 Docker meta" # #
id: meta # Release > Github > QEMU
uses: docker/metadata-action@v3 # #
with:
images: |
ghcr.io/Aetherinox/thetvapp-docker
tags: |
type=raw,value=latest,enable=${{ endsWith(github.ref, 'main') }}
type=ref,event=tag
- name: "📦 Build and push" - name: "⚙️ Set up QEMU"
uses: docker/build-push-action@v3 id: task_release_gh_qemu
with: uses: docker/setup-qemu-action@v3
context: .
platforms: linux/amd64 # #
push: ${{ github.event_name != 'pull_request' }} # Release > Github > Setup BuildX
tags: ${{ steps.meta.outputs.tags }} # #
labels: ${{ steps.meta.outputs.labels }}
- name: "⚙️ Setup Buildx"
id: task_release_gh_buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
driver-opts: 'image=moby/buildkit:v0.10.5'
# #
# Release > Github > Registry Login
# #
- name: "⚙️ Login to DockerHub"
id: task_release_gh_registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.SELF_TOKEN_CL }}
# #
# Release > Github > Meta
# #
- name: "🔨 Docker meta"
id: task_release_gh_meta
uses: docker/metadata-action@v3
with:
images: |
ghcr.io/Aetherinox/thetvapp-docker
tags: |
type=raw,value=latest,enable=${{ endsWith(github.ref, 'main') }}
type=ref,event=tag
# #
# Release > Github > Build and Push
# #
- name: "📦 Build and push"
id: task_release_gh_push
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.task_release_gh_meta.outputs.tags }}
labels: ${{ steps.task_release_gh_meta.outputs.labels }}
# #
# Job > Docker Release > Github
# #
docker-release-dockerhub:
name: >-
📦 Release Dockerhub
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
# #
# Release > Dockerhub > Start
# #
- name: "✅ Start"
id: task_release_dh_start
run: |
echo "Starting Github docker release"
# #
# Release > Dockerhub > Checkout
# #
- name: "☑️ Checkout"
id: task_release_dh_checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
# #
# Release > Dockerhub > QEMU
# #
- name: "⚙️ Set up QEMU"
id: task_release_dh_qemu
uses: docker/setup-qemu-action@v3
# #
# Release > Dockerhub > Setup BuildX
# #
- name: "⚙️ Setup Buildx"
id: task_release_dh_buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
driver-opts: 'image=moby/buildkit:v0.10.5'
# #
# Release > Dockerhub > Registry Login
# #
- name: "⚙️ Login to DockerHub"
id: task_release_dh_registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: registry.docker.com
username: ${{ secrets.SELF_DOCKERHUB_USER }}
password: ${{ secrets.SELF_DOCKERHUB_TOKEN }}
# #
# Release > Dockerhub > Meta
# #
- name: "🔨 Docker meta"
id: task_release_dh_meta
uses: docker/metadata-action@v3
with:
images: |
Aetherinox/thetvapp-docker
tags: |
type=raw,value=latest,enable=${{ endsWith(github.ref, 'main') }}
type=ref,event=tag
# #
# Release > Dockerhub > Build and Push
# #
- name: "📦 Build and push"
id: task_release_dh_push
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.task_release_dh_meta.outputs.tags }}
labels: ${{ steps.task_release_dh_meta.outputs.labels }}