This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
name: Build a docker image.
|
||||
|
||||
on: [push]
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
build-docker-image:
|
||||
@@ -10,25 +11,35 @@ jobs:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build flake
|
||||
run: nix build .#docker
|
||||
|
||||
- name: Load Docker image
|
||||
run: docker load < result
|
||||
|
||||
- name: Login to local Gitea registry
|
||||
- name: Build image
|
||||
run: |
|
||||
echo "${{ secrets.GITEA_TOKEN }}" | \
|
||||
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
|
||||
nix build .#docker
|
||||
|
||||
- name: Push image
|
||||
env:
|
||||
REGISTRY: "${{ gitea.server_url }}"
|
||||
REPOSITORY: "${{ gitea.repository }}"
|
||||
USERNAME: "${{ gitea.actor }}"
|
||||
PASSWORD: "${{ secrets.GITEA_TOKEN }}"
|
||||
TAG: "${{ gitea.sha }}"
|
||||
run: |
|
||||
docker push \
|
||||
${{ gitea.server_url }}/${{ gitea.repository }}:latest
|
||||
REGISTRY="${REGISTRY#https://}"
|
||||
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