diff --git a/.github/workflows/nightly_linux_arm64.yml b/.github/workflows/nightly_linux_arm64.yml new file mode 100644 index 00000000000..a0d8825b232 --- /dev/null +++ b/.github/workflows/nightly_linux_arm64.yml @@ -0,0 +1,46 @@ +on: + workflow_dispatch: + schedule: + - cron: '0 9 * * *' + +name: Nightly Release Linux arm64/aarch64 + +jobs: + build: + name: build and package nightly release + runs-on: [self-hosted, Linux, ARM64] + timeout-minutes: 90 + steps: + - uses: actions/checkout@v3 + + - name: create version.txt + run: ./ci/write_version.sh + + - name: build release with lto + run: cargo build --profile=release-with-lto --locked --bin roc + + - name: get commit SHA + run: echo "SHA=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV + + - name: get date + run: echo "DATE=$(date "+%Y-%m-%d")" >> $GITHUB_ENV + + - name: build file name + env: + DATE: ${{ env.DATE }} + SHA: ${{ env.SHA }} + run: echo "RELEASE_FOLDER_NAME=roc_nightly-linux_arm64-$DATE-$SHA" >> $GITHUB_ENV + + # this makes the roc binary a lot smaller + - name: strip debug info + run: strip ./target/release-with-lto/roc + + - name: Make nightly release tar archive + run: ./ci/package_release.sh ${{ env.RELEASE_FOLDER_NAME }} + + - name: Upload roc nightly tar. Actually uploading to github releases has to be done manually. + uses: actions/upload-artifact@v3 + with: + name: ${{ env.RELEASE_FOLDER_NAME }}.tar.gz + path: ${{ env.RELEASE_FOLDER_NAME }}.tar.gz + retention-days: 4