| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- name: Nightly
- on:
- workflow_dispatch:
- schedule:
- - cron: 0 20 * * *
- jobs:
- build_windows:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v1
- - name: build Odin
- shell: cmd
- run: |
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat
- ./build.bat 1 1
- - name: Odin run
- shell: cmd
- run: |
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat
- odin run examples/demo/demo.odin
- - name: Copy artifacts
- run: |
- rm bin/llvm/windows/LLVM-C.lib
- mkdir dist
- cp odin.exe dist
- cp LLVM-C.dll dist
- cp -r shared dist
- cp -r core dist
- cp -r bin dist
- cp -r examples dist
- - name: Upload artifact
- uses: actions/upload-artifact@v1
- with:
- name: windows_artifacts
- path: dist
- build_ubuntu:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v1
- - name: (Linux) Download LLVM
- run: sudo apt-get install llvm-11 clang-11 llvm
- - name: build odin
- run: make nightly
- - name: Odin run
- run: ./odin run examples/demo/demo.odin
- - name: Copy artifacts
- run: |
- mkdir dist
- cp odin dist
- cp -r shared dist
- cp -r core dist
- cp -r examples dist
- - name: Upload artifact
- uses: actions/upload-artifact@v1
- with:
- name: ubuntu_artifacts
- path: dist
- build_macos:
- runs-on: macOS-latest
- steps:
- - uses: actions/checkout@v1
- - name: Download LLVM and setup PATH
- run: |
- brew install llvm@11
- echo "/usr/local/opt/llvm@11/bin" >> $GITHUB_PATH
- TMP_PATH=$(xcrun --show-sdk-path)/user/include
- echo "CPATH=$TMP_PATH" >> $GITHUB_ENV
- - name: build odin
- run: make nightly
- - name: Odin run
- run: ./odin run examples/demo/demo.odin
- - name: Copy artifacts
- run: |
- mkdir dist
- cp odin dist
- cp -r shared dist
- cp -r core dist
- cp -r examples dist
- - name: Upload artifact
- uses: actions/upload-artifact@v1
- with:
- name: macos_artifacts
- path: dist
- upload_b2:
- runs-on: [ubuntu-latest]
- needs: [build_windows, build_macos, build_ubuntu]
- steps:
- - uses: actions/checkout@v1
- - uses: actions/setup-python@v2
- with:
- python-version: '3.x'
- - name: Install B2 CLI
- shell: bash
- run: |
- python -m pip install --upgrade pip
- pip install --upgrade b2
- - name: Display Python version
- run: python -c "import sys; print(sys.version)"
- - name: Download Windows artifacts
- uses: actions/download-artifact@v1
- with:
- name: windows_artifacts
- - name: Download Ubuntu artifacts
- uses: actions/download-artifact@v1
- with:
- name: ubuntu_artifacts
- - name: Download macOS artifacts
- uses: actions/download-artifact@v1
- with:
- name: macos_artifacts
- - name: Create archives and upload
- shell: bash
- env:
- APPID: ${{ secrets.B2_APPID }}
- APPKEY: ${{ secrets.B2_APPKEY }}
- BUCKET: ${{ secrets.B2_BUCKET }}
- DAYS_TO_KEEP: ${{ secrets.B2_DAYS_TO_KEEP }}
- run: |
- b2 authorize-account "$APPID" "$APPKEY"
- chmod +x ./ci/upload_create_nightly.sh
- ./ci/upload_create_nightly.sh "$BUCKET" windows-amd64 windows_artifacts/
- ./ci/upload_create_nightly.sh "$BUCKET" ubuntu-amd64 ubuntu_artifacts/
- ./ci/upload_create_nightly.sh "$BUCKET" macos-amd64 macos_artifacts/
- python3 ci/delete_old_binaries.py "$BUCKET" "$DAYS_TO_KEEP"
- python3 ci/create_nightly_json.py "$BUCKET" > nightly.json
- b2 upload-file "$BUCKET" nightly.json nightly.json
- b2 clear-account
|