This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
name: Build a docker image.
|
name: Build a docker image.
|
||||||
|
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-docker-image:
|
build-docker-image:
|
||||||
@@ -10,25 +11,35 @@ jobs:
|
|||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Build flake
|
- name: Build image
|
||||||
run: nix build .#docker
|
|
||||||
|
|
||||||
- name: Load Docker image
|
|
||||||
run: docker load < result
|
|
||||||
|
|
||||||
- name: Login to local Gitea registry
|
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.GITEA_TOKEN }}" | \
|
nix build .#docker
|
||||||
docker login ${{ gitea.server_url }} \
|
|
||||||
--username "${{ gitea.actor }}" \
|
|
||||||
--password-stdin
|
|
||||||
|
|
||||||
- name: Tag image
|
|
||||||
run: |
|
|
||||||
docker tag my-image:latest \
|
|
||||||
${{ gitea.server_url }}/${{ gitea.repository }}:latest
|
|
||||||
|
|
||||||
- name: Push image
|
- name: Push image
|
||||||
|
env:
|
||||||
|
REGISTRY: "${{ gitea.server_url }}"
|
||||||
|
REPOSITORY: "${{ gitea.repository }}"
|
||||||
|
USERNAME: "${{ gitea.actor }}"
|
||||||
|
PASSWORD: "${{ secrets.GITEA_TOKEN }}"
|
||||||
|
TAG: "${{ gitea.sha }}"
|
||||||
run: |
|
run: |
|
||||||
docker push \
|
REGISTRY="${REGISTRY#https://}"
|
||||||
${{ gitea.server_url }}/${{ gitea.repository }}:latest
|
REGISTRY="${REGISTRY#http://}"
|
||||||
|
REGISTRY="${REGISTRY%/}"
|
||||||
|
|
||||||
|
IMAGE="${REGISTRY}/${REPOSITORY}:${TAG}"
|
||||||
|
|
||||||
|
echo "Pushing ${IMAGE}"
|
||||||
|
|
||||||
|
skopeo copy \
|
||||||
|
--dest-creds "${USERNAME}:${PASSWORD}" \
|
||||||
|
"docker-archive:result" \
|
||||||
|
"docker://${IMAGE}"
|
||||||
|
|
||||||
|
# Also update latest
|
||||||
|
if [ "${GITEA_REF_TYPE}" = "branch" ] && [ "${GITEA_REF_NAME}" = "main" ]; then
|
||||||
|
skopeo copy \
|
||||||
|
--dest-creds "${USERNAME}:${PASSWORD}" \
|
||||||
|
"docker-archive:result" \
|
||||||
|
"docker://${REGISTRY}/${REPOSITORY}:latest"
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user