gentoo x86_64 #225
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: gentoo x86_64 | |
on: | |
schedule: | |
- cron: '30 11 * * *' | |
workflow_dispatch: | |
jobs: | |
gentoo_x86_64_images: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: check path | |
run: | | |
pwd | |
- name: Configure Git | |
run: | | |
git config --global user.name "daily-update" | |
git config --global user.email "tg@spiritlhl.top" | |
- name: Build and Upload Images | |
run: | | |
distros=("gentoo") | |
for distro in "${distros[@]}"; do | |
zip_name_list=($(bash build_images.sh $distro false x86_64 | tail -n 1)) | |
release_id=$(curl -s -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/oneclickvirt/incus_images/releases/tags/$distro" | jq -r '.id') | |
echo "Building $distro and packge zips" | |
bash build_images.sh $distro true x86_64 | |
for file in "${zip_name_list[@]}"; do | |
if [ -f "$file" ] && [ $(stat -c %s "$file") -gt 1048576 ]; then | |
echo "Checking if $file already exists in release..." | |
existing_asset_id=$(curl -s -H "Accept: application/vnd.github.v3+json" \ | |
"https://api.github.com/repos/oneclickvirt/incus_images/releases/$release_id/assets" \ | |
| jq -r --arg name "$(basename "$file")" '.[] | select(.name == $name) | .id') | |
if [ -n "$existing_asset_id" ]; then | |
echo "Asset $file already exists in release, deleting existing asset..." | |
delete_response=$(curl -s -X DELETE -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/oneclickvirt/incus_images/releases/assets/$existing_asset_id") | |
echo "$delete_response" | |
if [ $? -eq 0 ] && ! echo "$delete_response" | grep -q "error"; then | |
echo "Existing asset deleted successfully." | |
else | |
echo "Failed to delete existing asset. Skipping file upload..." | |
rm -rf $file | |
continue | |
fi | |
else | |
echo "No $file file." | |
fi | |
echo "Uploading $file to release..." | |
curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "Content-Type: application/zip" \ | |
--data-binary @"$file" \ | |
"https://uploads.github.com/repos/oneclickvirt/incus_images/releases/$release_id/assets?name=$(basename "$file")" | |
rm -rf $file | |
else | |
echo "No $file or less than 10 MB" | |
fi | |
done | |
done | |