idkyet-user-template/.forgejo/workflows/build_image.yml
2025-02-20 23:17:18 +01:00

59 lines
2.2 KiB
YAML

name: Build Image
on:
push:
branches:
- main
concurrency:
group: build-image-${{ github.repository }}
cancel-in-progress: true
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create Version
id: version
run: |
echo "RELEASE_VERSION=${GITHUB_RUN_NUMBER}${GITHUB_RUN_ATTEMPT}"
echo "RELEASE_VERSION=${GITHUB_RUN_NUMBER}${GITHUB_RUN_ATTEMPT}" >> "${GITHUB_OUTPUT}"
#TODO: implement better versioning
- name: Build or Restore aur
uses: https://git.fml128.ch/FML128/idkyet-builder-action/aur@main
with:
layer_config_file: layers_config.yml
- name: Build images
uses: https://git.fml128.ch/FML128/idkyet-builder-action/builder@main
with:
layer_config_file: layers_config.yml
out_dir: ${{ gitea.workspace }}/out
version: ${{ steps.version.outputs.RELEASE_VERSION }}
registry_username: ${{ gitea.actor }}
registry_password: ${{ secrets.PACKET_TOKEN }}
gpg_sign_key: ${{ secrets.GPG_SIGN_KEY }}
sb_db_pem: ${{ secrets.SB_DB_PEM }}
sb_db_key: ${{ secrets.SB_DB_KEY }}
api_auth_token: ${{ secrets.API_AUTH_TOKEN }}
- name: Upload Packages
run: |
cd ${{ gitea.workspace }}/out
for f in *;do
if [[ "$f" == *.img || "$f" == *.efi ]]; then
echo "Uploading $f"
du -sh $f
curl --user "${{ gitea.actor }}:${{ secrets.PACKET_TOKEN }}" \
--fail --fail-early \
--upload-file "$f" \
"https://git.fml128.ch/api/packages/${{ github.repository_owner }}/generic/${GITHUB_REPOSITORY#*/}/${{ steps.version.outputs.RELEASE_VERSION }}/$f"
rm $f
fi
done
- name: If failure delete packages
if: failure()
run: |
curl --user "${{ gitea.actor }}:${{ secrets.PACKET_TOKEN }}" \
-X DELETE \
"https://git.fml128.ch/api/packages/${{ github.repository_owner }}/generic/${GITHUB_REPOSITORY#*/}/${{ steps.version.outputs.RELEASE_VERSION }}"