Convert main.yaml to standard htpasswd 4-workflow pattern (no artifact)

Replace artifact upload/download with direct build per job using
setup-buildx-action. Chain: hadolint→test→build→tag.
This commit is contained in:
2026-06-13 17:54:38 -04:00
parent 2aa907190a
commit 3c2d96a317
+30 -58
View File
@@ -1,77 +1,49 @@
name: Main CI name: Main Release
on: on:
push: push:
branches: [master] branches: [master]
jobs: jobs:
lint: hadolint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
continue-on-error: true
steps: steps:
- name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0
- name: Hadolint
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5
with: with:
dockerfile: Dockerfile dockerfile: Dockerfile
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10
- name: Build image
run: docker build -t ci-image:${{ github.sha }} .
- name: Save image
run: docker save -o image.tar ci-image:${{ github.sha }}
- name: Upload artifact
uses: https://github.com/ChristopherHX/gitea-upload-artifact@62ac910c5d3dfa85c7cb2df15afe2e342b2407c2
with:
name: docker-image
path: image.tar
retention-days: 1
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [lint, build]
steps: steps:
- name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- run: docker build -t ci-image:${{ github.sha }} .
- run: bash tests/test.sh ci-image:${{ github.sha }}
- name: Download artifact build:
uses: https://github.com/ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 needs: [test]
with:
name: docker-image
- name: Load image
run: docker load < image.tar
- name: Run tests
run: bash tests/test.sh ci-image:${{ github.sha }}
push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: test
steps: steps:
- name: Download artifact - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
uses: https://github.com/ChristopherHX/gitea-download-artifact@75635f32b4c1c41c4b3d64e8f85210112ed4c9c7 - uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
- run: docker build -t jcabillot/ip:${{ github.sha }} .
tag:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
name: docker-image fetch-depth: 0
- name: Configure git auth
- name: Load image
run: docker load < image.tar
- name: Login to Docker Hub
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Tag and push
run: | run: |
docker tag ci-image:${{ github.sha }} jcabillot/ip:latest git remote set-url origin "https://x-access-token:${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}@scm.cabillot.eu/web/ip.git"
docker push jcabillot/ip:latest - uses: anothrNick/github-tag-action@ed44965e0db8dab2b46616da9f2a04ec312fd8 # v1.75.0
env:
GITHUB_TOKEN: ${{ secrets.SA_TOKEN_ACTION_PUSH_TAGS }}
DEFAULT_BUMP: patch
RELEASE_BRANCHES: master
WITH_V: true
GIT_API_TAGGING: false