nvim/.gitea/workflows/build-images.yml
2023-12-31 10:47:43 +01:00

72 lines
2.7 KiB
YAML

name: Build neovim image
run-name: Build Neovim image yay
on:
push:
branches: [ "main" ]
schedule:
- cron: '30 3 */10 * *'
jobs:
build-neovim-arm64:
runs-on: linux_arm64
steps:
- name: install actions deps
run: |
dnf install -y nodejs git
- name: Check out repository code
uses: actions/checkout@v3
- run: |
podman build . --file Dockerfile --tag gitea.maciej.cloud/packages/neovim:arm64
- name: login to registry
run: |
podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" gitea.maciej.cloud
- name: Push image
run: |
IMAGE_NAME="neovim"
IMAGE_ID="gitea.maciej.cloud/packages/$IMAGE_NAME"
podman pull $IMAGE_ID:arm64-v1
podman pull $IMAGE_ID:arm64-v2
podman tag $IMAGE_ID:arm64-v2 $IMAGE_ID:arm64-v3
podman tag $IMAGE_ID:arm64-v1 $IMAGE_ID:arm64-v2
podman tag $IMAGE_ID:arm64 $IMAGE_ID:arm64-v1
podman push $IMAGE_ID:arm64-v1
podman push $IMAGE_ID:arm64-v2
podman push $IMAGE_ID:arm64-v3
build-neovim-amd64:
runs-on: linux_amd64
steps:
- name: install actions deps
run: |
dnf install -y nodejs git
- name: Check out repository code
uses: actions/checkout@v3
- run: |
podman build . --file Dockerfile --tag gitea.maciej.cloud/packages/neovim:amd64
- name: login to registry
run: |
podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" gitea.maciej.cloud
- name: Push image
run: |
IMAGE_NAME="neovim"
IMAGE_ID="gitea.maciej.cloud/packages/$IMAGE_NAME"
podman pull $IMAGE_ID:amd64-v1
podman pull $IMAGE_ID:amd64-v2
podman tag $IMAGE_ID:amd64-v2 $IMAGE_ID:amd64-v3
podman tag $IMAGE_ID:amd64-v1 $IMAGE_ID:amd64-v2
podman tag $IMAGE_ID:amd64 $IMAGE_ID:amd64-v1
podman push $IMAGE_ID:amd64-v1
podman push $IMAGE_ID:amd64-v2
podman push $IMAGE_ID:amd64-v3
update-images-manifest:
runs-on: [ linux_amd64 ]
needs:
- build-neovim-arm64
- build-neovim-amd64
steps:
- name: login to registry
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" gitea.maciej.cloud
- name: Create manifest and push
run: |
echo "Updating manifest for neovim";
podman manifest create gitea.maciej.cloud/packages/neovim:latest gitea.maciej.cloud/packages/neovim:amd64-v1 gitea.maciej.cloud/packages/neovim:arm64-v1;
podman manifest push gitea.maciej.cloud/packages/neovim:latest gitea.maciej.cloud/packages/neovim:latest;