|
@@ -63,11 +63,13 @@ jobs:
|
|
|
cp -r core dist
|
|
|
cp -r vendor dist
|
|
|
cp -r examples dist
|
|
|
+ # Zipping so executable permissions are retained, see https://github.com/actions/upload-artifact/issues/38
|
|
|
+ zip -r dist.zip dist
|
|
|
- name: Upload artifact
|
|
|
uses: actions/upload-artifact@v1
|
|
|
with:
|
|
|
name: ubuntu_artifacts
|
|
|
- path: dist
|
|
|
+ path: dist.zip
|
|
|
build_macos:
|
|
|
name: MacOS Build
|
|
|
if: github.repository == 'odin-lang/Odin'
|
|
@@ -76,15 +78,13 @@ jobs:
|
|
|
- uses: actions/checkout@v1
|
|
|
- name: Download LLVM and setup PATH
|
|
|
run: |
|
|
|
- brew install llvm@13
|
|
|
+ brew install llvm@13 dylibbundler
|
|
|
echo "/usr/local/opt/llvm@13/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
|
|
|
- - name: Copy artifacts
|
|
|
+ - name: Bundle
|
|
|
run: |
|
|
|
mkdir dist
|
|
|
cp odin dist
|
|
@@ -94,11 +94,16 @@ jobs:
|
|
|
cp -r core dist
|
|
|
cp -r vendor dist
|
|
|
cp -r examples dist
|
|
|
+ dylibbundler -b -x dist/odin -d dist/libs -od -p @executable_path/libs
|
|
|
+ # Zipping so executable permissions are retained, see https://github.com/actions/upload-artifact/issues/38
|
|
|
+ zip -r dist.zip dist
|
|
|
+ - name: Odin run
|
|
|
+ run: ./dist/odin run examples/demo
|
|
|
- name: Upload artifact
|
|
|
uses: actions/upload-artifact@v1
|
|
|
with:
|
|
|
name: macos_artifacts
|
|
|
- path: dist
|
|
|
+ path: dist.zip
|
|
|
build_macos_arm:
|
|
|
name: MacOS ARM Build
|
|
|
if: github.repository == 'odin-lang/Odin'
|
|
@@ -107,15 +112,13 @@ jobs:
|
|
|
- uses: actions/checkout@v1
|
|
|
- name: Download LLVM and setup PATH
|
|
|
run: |
|
|
|
- brew install llvm@13
|
|
|
+ brew install llvm@13 dylibbundler
|
|
|
echo "/opt/homebrew/opt/llvm@13/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
|
|
|
- - name: Copy artifacts
|
|
|
+ - name: Bundle
|
|
|
run: |
|
|
|
mkdir dist
|
|
|
cp odin dist
|
|
@@ -125,11 +128,16 @@ jobs:
|
|
|
cp -r core dist
|
|
|
cp -r vendor dist
|
|
|
cp -r examples dist
|
|
|
+ dylibbundler -b -x dist/odin -d dist/libs -od -p @executable_path/libs
|
|
|
+ # Zipping so executable permissions are retained, see https://github.com/actions/upload-artifact/issues/38
|
|
|
+ zip -r dist.zip dist
|
|
|
+ - name: Odin run
|
|
|
+ run: ./dist/odin run examples/demo
|
|
|
- name: Upload artifact
|
|
|
uses: actions/upload-artifact@v1
|
|
|
with:
|
|
|
name: macos_arm_artifacts
|
|
|
- path: dist
|
|
|
+ path: dist.zip
|
|
|
upload_b2:
|
|
|
runs-on: [ubuntu-latest]
|
|
|
needs: [build_windows, build_macos, build_macos_arm, build_ubuntu]
|