Browse Source

Zip so compiler keeps executable permissions

Laytan Laats 1 year ago
parent
commit
ee543a304a
1 changed files with 9 additions and 3 deletions
  1. 9 3
      .github/workflows/nightly.yml

+ 9 - 3
.github/workflows/nightly.yml

@@ -63,11 +63,13 @@ jobs:
           cp -r core dist
           cp -r core dist
           cp -r vendor dist
           cp -r vendor dist
           cp -r examples 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
       - name: Upload artifact
         uses: actions/upload-artifact@v1
         uses: actions/upload-artifact@v1
         with:
         with:
           name: ubuntu_artifacts
           name: ubuntu_artifacts
-          path: dist
+          path: dist.zip
   build_macos:
   build_macos:
     name: MacOS Build
     name: MacOS Build
     if: github.repository == 'odin-lang/Odin'
     if: github.repository == 'odin-lang/Odin'
@@ -93,13 +95,15 @@ jobs:
           cp -r vendor dist
           cp -r vendor dist
           cp -r examples dist
           cp -r examples dist
           dylibbundler -b -x dist/odin -d dist/libs -od -p @executable_path/libs
           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
       - name: Odin run
         run: ./dist/odin run examples/demo
         run: ./dist/odin run examples/demo
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/upload-artifact@v1
         uses: actions/upload-artifact@v1
         with:
         with:
           name: macos_artifacts
           name: macos_artifacts
-          path: dist
+          path: dist.zip
   build_macos_arm:
   build_macos_arm:
     name: MacOS ARM Build
     name: MacOS ARM Build
     if: github.repository == 'odin-lang/Odin'
     if: github.repository == 'odin-lang/Odin'
@@ -125,13 +129,15 @@ jobs:
           cp -r vendor dist
           cp -r vendor dist
           cp -r examples dist
           cp -r examples dist
           dylibbundler -b -x dist/odin -d dist/libs -od -p @executable_path/libs
           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
       - name: Odin run
         run: ./dist/odin run examples/demo
         run: ./dist/odin run examples/demo
       - name: Upload artifact
       - name: Upload artifact
         uses: actions/upload-artifact@v1
         uses: actions/upload-artifact@v1
         with:
         with:
           name: macos_arm_artifacts
           name: macos_arm_artifacts
-          path: dist
+          path: dist.zip
   upload_b2:
   upload_b2:
     runs-on: [ubuntu-latest]
     runs-on: [ubuntu-latest]
     needs: [build_windows, build_macos, build_macos_arm, build_ubuntu]
     needs: [build_windows, build_macos, build_macos_arm, build_ubuntu]