correct issue #1351
Workflow file for this run
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: Image build on event | |
on: | |
push: | |
branches: [ "2.4-evo" ] | |
pull_request: | |
branches: [ "2.4-evo" ] | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
if: "github.event_name == 'push' && !contains(github.event.head_commit.modified, 'last.releases')" | |
strategy: | |
fail-fast: false # Don't fail all if any of the jobs is failing | |
matrix: | |
TESTING: [release] | |
TARGET: [pi-bullseye, x86-lunar, rock5b, rock5a] # <-- Add targets here! | |
steps: | |
- name: Maximize build space | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 512 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
remove-android: 'true' | |
remove-haskell: 'true' | |
overprovision-lvm: 'true' | |
- name: Setup env | |
run: | | |
echo "DT=$(date +'%Y-%m-%d_%H%M')" >> $GITHUB_ENV | |
echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV | |
### ONLY THIS RELEVANT FOR BUILDING ### | |
- uses: actions/checkout@v2 | |
- name: update | |
run: sudo apt-get update | |
- name: dep | |
run: sudo apt-get install -y unzip curl git qemu qemu-user-static binfmt-support | |
- name: configure | |
run: sudo ./build.sh ${{ matrix.TARGET }} ${{ matrix.TESTING }} | |
- name: remove old image to make space | |
run: | | |
sudo rm -Rf -v ./work-jetson-nano-2gb-bionic/03-Preconfiguration/* | |
sudo rm -Rf -v ./work-jetson-nano-4gb-bionic/03-Preconfiguration/* | |
sudo rm -Rf -v ./work-pi-bullseye/03-Preconfiguration/* | |
sudo rm -Rf -v ./work-pi-legacy-bullseye/03-Preconfiguration/* | |
- name: magic | |
run: | | |
ls -a | |
sudo df -h | |
sudo mv ./deploy/*.img ./OpenHD-image-${{ matrix.TARGET }}-${{ matrix.DISTRO }}-${GITHUB_REF##*/}-${{ env.DT }}.img | |
echo "moved image" | |
sudo rm -rvf deploy* | |
sudo rm -rvf work* | |
sudo rm -Rf /usr/share/doc | |
sudo rm -Rf /home/linuxbrew | |
sudo rm -Rf /home/runner-admin | |
sudo rm -Rf /opt/hostedtoolcache | |
sudo rm -Rf /opt/microsoft | |
sudo rm -Rf /opt/hhvm | |
sudo apt autoremove -y | |
sudo df -h | |
######################################## | |
- name: Compose release filename | |
# https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions | |
run: echo "artifact_name=OpenHD-image-${{ matrix.TARGET }}-${{ matrix.DISTRO }}-${GITHUB_REF##*/}-${{ env.DT }}" >> $GITHUB_ENV | |
- name: Pack image for ${{ matrix.TARGET }} | |
uses: 'actions/upload-artifact@v2' | |
with: | |
name: "${{ matrix.TARGET }}" | |
path: | | |
*.img | |
if-no-files-found: error | |
upload: | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # Don't fail all if any of the jobs is failing | |
matrix: | |
TESTING: [release] | |
TARGET: [pi-bullseye, x86-jammy, rock5b, rock5a] # <-- Add targets here! | |
steps: | |
- name: debug | |
run: df -h | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: "${{ matrix.TARGET }}" | |
- name: compress | |
run: | | |
ls -a | |
mkdir OpenHD | |
mv *.img OpenHD | |
cd OpenHD* | |
sha256sum * | cut -f 1 -d " " > ../sha256 | |
echo 'NAME<<EOF' >> $GITHUB_ENV | |
ls -1 | sed -e 's/.img/.img.xz/g' >> $GITHUB_ENV | |
echo 'EOF' >> $GITHUB_ENV | |
echo 'SIZEFULL<<EOF' >> $GITHUB_ENV | |
wc -c *.img | cut -f 1 -d " " >> $GITHUB_ENV | |
echo 'EOF' >> $GITHUB_ENV | |
xz -v7T0 *.img | |
ls -a | |
mv * ../ | |
ls -a | |
- name: Upload to R2 | |
shell: bash | |
env: | |
aws_endpoint: "https://fra1.digitaloceanspaces.com" | |
aws_key_id: ${{ secrets.DIGITALOCEAN_ACCESS_KEY_ID }} | |
aws_secret_access_key: ${{ secrets.DIGITALOCEAN_SECRET_ACCESS_KEY }} | |
aws_s3_bucket: openhd-images | |
AWS_EC2_METADATA_DISABLED: true | |
run: | | |
aws configure set aws_access_key_id $aws_key_id | |
aws configure set aws_secret_access_key $aws_secret_access_key | |
aws s3 --endpoint-url $aws_endpoint cp ${{ env.NAME }} s3://$aws_s3_bucket/Downloader/temp/${{ env.NAME }} | |
- name: generate variables for the ImageWriter | |
run: | | |
ls -a | |
export NAME=$(cat last.release) | |
export FILESIZE=${{ env.SIZEFULL }} | |
export FILENAME=${{ env.NAME }} | |
export DOWNLOADSIZE=$(wc -c *.xz | cut -f 1 -d " ") | |
export SUM=$(cat sha256) | |
export RELEASEDATE=$(date +%Y-%m-%d) | |
echo "$NAME" >> ${{ matrix.TARGET }}.txt | |
echo "$FILESIZE" >> ${{ matrix.TARGET }}.txt | |
echo "$FILENAME" >> ${{ matrix.TARGET }}.txt | |
echo "$DOWNLOADSIZE" >> ${{ matrix.TARGET }}.txt | |
echo "$SUM" >> ${{ matrix.TARGET }}.txt | |
echo "$RELEASEDATE" >> ${{ matrix.TARGET }}.txt | |
wc -c *.xz | cut -f 1 -d " " | |
- name: Upload text-files | |
shell: bash | |
env: | |
aws_endpoint: "https://fra1.digitaloceanspaces.com" | |
aws_key_id: ${{ secrets.DIGITALOCEAN_ACCESS_KEY_ID }} | |
aws_secret_access_key: ${{ secrets.DIGITALOCEAN_SECRET_ACCESS_KEY }} | |
aws_s3_bucket: openhd-images | |
AWS_EC2_METADATA_DISABLED: true | |
run: | | |
aws configure set aws_access_key_id $aws_key_id | |
aws configure set aws_secret_access_key $aws_secret_access_key | |
aws s3 --endpoint-url $aws_endpoint cp ${{ matrix.TARGET }}.txt s3://$aws_s3_bucket/Downloader/temp/${{ matrix.TARGET }}.txt |