diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2024-01-30 10:28:39 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-30 10:28:39 +0100 |
| commit | bf7fd9443c1d8cadbe47309a82210fbf2392f66b (patch) | |
| tree | fdd8f28be44582a23a3a34a83e97b28f99ac697d | |
| parent | d93559abe647e733b0338cf0707aba09c350481a (diff) | |
| parent | 676809ffbdb2896f703e7b84cc19f9fd0ef2a0e2 (diff) | |
Merge pull request #302 from laytan/arm64-builds
Darwin arm64 builds
| -rw-r--r-- | .github/workflows/nightly.yml | 42 | ||||
| -rwxr-xr-x | build.sh | 26 |
2 files changed, 62 insertions, 6 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 8c789a5..8d5a3bd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -7,6 +7,36 @@ on: #- cron: 0 20 * * * jobs: + dist-arm64-darwin: + runs-on: macos-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v1 + - name: Download LLVM and setup PATH + run: | + brew install llvm@14 + echo "/usr/local/opt/llvm@14/bin" >> $GITHUB_PATH + TMP_PATH=$(xcrun --show-sdk-path)/user/include + echo "CPATH=$TMP_PATH" >> $GITHUB_ENV + - name: Download Odin + run: | + git clone https://github.com/odin-lang/Odin + - name: Build Odin + run: | + cd Odin + make release + - name: Build ols + run: ./build.sh CI_NO_TESTS -target:darwin_arm64 -extra-linker-flags:"--target=arm64-apple-macos" + - name: Move to Dist + run: | + mkdir dist + mv ols dist/ols-arm64-darwin + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: dist-arm64-darwin + path: ./dist + dist-x86_64-darwin: runs-on: macos-latest timeout-minutes: 15 @@ -98,7 +128,7 @@ jobs: name: publish runs-on: ubuntu-latest timeout-minutes: 30 - needs: ['dist-x86_64-pc-windows-msvc', 'dist-x86_64-unknown-linux-gnu', 'dist-x86_64-darwin'] + needs: ['dist-x86_64-pc-windows-msvc', 'dist-x86_64-unknown-linux-gnu', 'dist-x86_64-darwin', 'dist-arm64-darwin'] steps: - name: Install Nodejs uses: actions/setup-node@v1 @@ -124,14 +154,24 @@ jobs: with: name: dist-x86_64-darwin path: dist + - uses: actions/download-artifact@v2 + with: + name: dist-arm64-darwin + path: dist - run: | ls -al ./dist cd dist zip -r ols-x86_64-pc-windows-msvc.zip ols-x86_64-pc-windows-msvc.exe builtin + chmod +x ols-x86_64-unknown-linux-gnu zip -r ols-x86_64-unknown-linux-gnu.zip ols-x86_64-unknown-linux-gnu builtin + chmod +x ols-x86_64-darwin zip -r ols-x86_64-darwin.zip ols-x86_64-darwin builtin + + chmod +x ols-arm64-darwin + zip -r ols-arm64-darwin.zip ols-arm64-darwin builtin + rm -rf builtin - name: Publish Release uses: ./.github/actions/github-release @@ -3,11 +3,13 @@ if [[ $1 == "CI" ]] then + shift + export PATH=$PATH:$PWD/Odin #BUG in odin test, it makes the executable with the same name as a folder and gets confused. cd tests - odin test ../tests -collection:shared=../src -o:speed + odin test ../tests -collection:shared=../src -o:speed $@ if ([ $? -ne 0 ]) then @@ -26,12 +28,22 @@ then #exit 1 fi fi +if [[ $1 == "CI_NO_TESTS" ]] +then + shift + + export PATH=$PATH:$PWD/Odin +fi if [[ $1 == "single_test" ]] then + shift + #BUG in odin test, it makes the executable with the same name as a folder and gets confused. cd tests - odin test ../tests -collection:shared=../src -test-name:$2 + odin test ../tests -collection:shared=../src -test-name:$@ + + shift if ([ $? -ne 0 ]) then @@ -44,10 +56,12 @@ fi if [[ $1 == "test" ]] then + shift + #BUG in odin test, it makes the executable with the same name as a folder and gets confused. cd tests - odin test ../tests -collection:shared=../src + odin test ../tests -collection:shared=../src $@ if ([ $? -ne 0 ]) then @@ -59,9 +73,11 @@ then fi if [[ $1 == "debug" ]] then - odin build src/ -collection:shared=src -out:ols -use-separate-modules -debug + shift + + odin build src/ -collection:shared=src -out:ols -use-separate-modules -debug $@ exit 0 fi -odin build src/ -collection:shared=src -out:ols -o:speed +odin build src/ -collection:shared=src -out:ols -o:speed $@ |