Skip to content

nightly

nightly #382

Workflow file for this run

name: nightly
on:
workflow_dispatch:
#schedule:
#- 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@17
echo "/opt/homebrew/opt/llvm@17/bin" >> $GITHUB_PATH
- name: Download Odin
run: |
git clone https://github.com/odin-lang/Odin
- name: Build Odin
run: |
cd Odin
./build_odin.sh release
- name: Build ols
run: ./ci.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@v4
with:
name: dist-arm64-darwin
path: ./dist
dist-x86_64-darwin:
runs-on: macos-13
timeout-minutes: 15
steps:
- uses: actions/checkout@v1
- name: Download LLVM and setup PATH
run: |
brew install llvm@17
echo "/usr/local/opt/llvm@17/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: ./ci.sh CI
- name: Move to Dist
run: |
mkdir dist
mv ols dist/ols-x86_64-darwin
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist-x86_64-darwin
path: ./dist
dist-x86_64-unknown-linux-gnu:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Download LLVM
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
echo "/usr/lib/llvm-17/bin" >> $GITHUB_PATH
- name: Download Odin
run: |
git clone https://github.com/odin-lang/Odin
- name: Build Odin
run: |
cd Odin
./build_odin.sh release
- name: Build ols
run: ./ci.sh CI
- name: Move to Dist
run: |
mkdir dist
mv ols dist/ols-x86_64-unknown-linux-gnu
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist-x86_64-unknown-linux-gnu
path: ./dist
dist-x86_64-pc-windows-msvc:
timeout-minutes: 30
runs-on: windows-2019
steps:
- uses: actions/checkout@v1
- name: Download Odin
shell: cmd
run: |
git clone https://github.com/odin-lang/Odin
- name: Build Odin
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat
cd Odin
./build.bat 1
- name: Build ols
shell: cmd
run: ./ci.bat CI
- name: Move to Dist
shell: cmd
run: |
mkdir dist
move ols.exe dist/
move builtin dist/
cd dist
ren ols.exe ols-x86_64-pc-windows-msvc.exe
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist-x86_64-pc-windows-msvc
path: ./dist
publish:
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', 'dist-arm64-darwin']
steps:
- name: Install Nodejs
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: ${{ env.FETCH_DEPTH }}
- run: echo "HEAD_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
- run: 'echo "HEAD_SHA: $HEAD_SHA"'
- uses: actions/[email protected]
with:
name: dist-x86_64-unknown-linux-gnu
path: dist
- uses: actions/[email protected]
with:
name: dist-x86_64-pc-windows-msvc
path: dist
- uses: actions/[email protected]
with:
name: dist-x86_64-darwin
path: dist
- uses: actions/[email protected]
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
rm ols-x86_64-pc-windows-msvc.exe
chmod +x ols-x86_64-unknown-linux-gnu
zip -r ols-x86_64-unknown-linux-gnu.zip ols-x86_64-unknown-linux-gnu builtin
rm ols-x86_64-unknown-linux-gnu
chmod +x ols-x86_64-darwin
zip -r ols-x86_64-darwin.zip ols-x86_64-darwin builtin
rm ols-x86_64-darwin
chmod +x ols-arm64-darwin
zip -r ols-arm64-darwin.zip ols-arm64-darwin builtin
rm ols-arm64-darwin
rm -rf builtin
- name: Publish Release
uses: ./.github/actions/github-release
with:
files: "dist/*"
name: "nightly"
token: ${{ secrets.GITHUB_TOKEN }}