diff --git a/.github/README.md b/.github/README.md index edff93f09f..5e183c72bf 100644 --- a/.github/README.md +++ b/.github/README.md @@ -6,21 +6,17 @@ General information about GH Workflows 1. Read about it: https://github.com/nektos/act (Requires Docker) 2. Install it https://github.com/nektos/act#installation -3. Run: `act --eventpath .github/_act_event.json --workflows .github/workflows/zowe-cli.yml --verbose --reuse` - - Equivalent: `act -vre .github/_act_event.json -W .github/workflows/zowe-cli.yml` -4. After it fails the first time, Copy the `zowe.tgz` file from the Build-Linux container to the Cross-Platform-Test container - - `docker cp act-Zowe-CLI-Build-Linux:/root/gh/zowe/zowe-cli/zowe.tgz .` - - `docker cp zowe.tgz act-Zowe-CLI-Cross-Platform-Test:/root/gh/zowe/zowe-cli/` -5. Run: `act -re .github/_act_event.json -W .github/workflows/zowe-cli.yml` +3. Run: `act --eventpath .github/_act_event.json --workflows .github/workflows/zowe-cli.yml --reuse` + - Equivalent: `act -re .github/_act_event.json -W .github/workflows/zowe-cli.yml` `100.` To start from scratch, just remove the containers - `docker rm act-Zowe-CLI-Build-Linux --force` - `docker rm act-Zowe-CLI-Cross-Platform-Test --force` -**Knwon Issues for `nektos/act@0.2.24`** +**Known Issues for `nektos/act@0.2.24`** -`0.` The first time (i.e. when it is supposed to fail) it will likely take ~3 minutes to run. Subsequent runs (with `--reuse`) should take less than 2 minutes.
-`1.` Artifact upload and download doesn't work on `nektos/act` (hence why we need to manually copy the zowe.tgz).
+`0.` The first time it will likely take ~3 minutes to run. Subsequent runs (with `--reuse`) should take less than 2 minutes.
+`1.` Artifact upload and download doesn't work on `nektos/act` (hence why we need to copy the zowe.tgz to a shared Docker volume).
`2.` `nektos/act` only works with linux distros.
`3.` `Install Rust toolchain` step was replaced with simple `yum install cargo -y` because `actions-rs/toolchain@v1` doesn't really work with `nektos/act`.
`4.` Steps context (`steps.`) doesn't really work on `nektos/act` (hence why we force unit and integration tests to run).
diff --git a/.github/workflows/zowe-cli.yml b/.github/workflows/zowe-cli.yml index bd0929798b..ad0b9bab74 100644 --- a/.github/workflows/zowe-cli.yml +++ b/.github/workflows/zowe-cli.yml @@ -59,6 +59,10 @@ jobs: name: zowe-linux-latest.tgz path: zowe.tgz + - name: Upload the Prebuilt Linux Binary + if: (github.event.run_with_act) + run: mkdir -p /toolcache/artifacts && cp zowe.tgz /toolcache/artifacts/zowe-linux-latest.tgz + test: name: Cross-Platform Test runs-on: ${{ matrix.os }} @@ -124,6 +128,10 @@ jobs: with: name: zowe-linux-latest.tgz + - name: Download Prebuilt Linux Binary + if: matrix.os == 'ubuntu-latest' && github.event.run_with_act + run: cp /toolcache/artifacts/zowe-linux-latest.tgz zowe.tgz + - name: Archive Binary if: matrix.os != 'ubuntu-latest' id: upload-binary