diff --git a/.github/workflows/jit-install-smoke.yml b/.github/workflows/jit-install-smoke.yml new file mode 100644 index 00000000..5086fa75 --- /dev/null +++ b/.github/workflows/jit-install-smoke.yml @@ -0,0 +1,68 @@ +name: jit-install-smoke + +on: + workflow_dispatch: + workflow_call: + +jobs: + manifest: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + cache: yarn + - run: yarn install + - run: yarn build + - run: yarn oclif manifest + - uses: actions/upload-artifact@v3 + with: + name: manifest + path: oclif.manifest.json + + get-jit-plugins: + runs-on: ubuntu-latest + outputs: + jit: ${{ steps.plugins.outputs.jit }} + steps: + - uses: actions/checkout@v3 + - name: Get JIT plugins + id: plugins + # This was a pain to get working, be weary of changing it... + # For the dynamic matrix to work, you have to have a VERY specific format: + # Output must be multiline (no jq -c), quotes matter, cannot use toJSON on output, etc... + # The dynamic matrix needs to use fromJSON when reading the needs output + # Multiline format: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-of-a-multiline-string + run: | + { + echo 'jit<> "$GITHUB_OUTPUT" + + jit-install: + needs: [manifest, get-jit-plugins] + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + jitPlugins: ${{ fromJSON(needs.get-jit-plugins.outputs.jit) }} + runs-on: ${{matrix.os}} + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: lts/* + - uses: salesforcecli/github-workflows/.github/actions/yarnInstallWithRetries@main + with: + ignore-scripts: true + - run: yarn build + - uses: actions/download-artifact@v3 + with: + name: manifest + - name: Install JIT plugin + uses: nick-fields/retry@943e742917ac94714d2f408a0e8320f2d1fcafcd + with: + max_attempts: 3 + retry_wait_seconds: 60 + command: yarn sf-release cli:install:jit:test --jit-plugin ${{matrix.jitPlugins}} + timeout_minutes: 60 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 41af9fbb..bbd52857 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,38 +20,9 @@ jobs: uses: salesforcecli/github-workflows/.github/workflows/tarballs.yml@main secrets: inherit - manifest: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - cache: yarn - - run: yarn install - - run: yarn build - - run: yarn oclif manifest - - uses: actions/upload-artifact@v2 - with: - name: manifest - path: oclif.manifest.json - - jit-install: - needs: [manifest] - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - runs-on: ${{matrix.os}} - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - cache: yarn - - run: yarn install - - run: yarn build - - uses: actions/download-artifact@v2 - with: - name: manifest - - run: yarn sf-release cli:install:jit:test + jit-install-smoke: + uses: ./.github/workflows/jit-install-smoke.yml + secrets: inherit artifacts: runs-on: ubuntu-latest diff --git a/package.json b/package.json index 60a34e46..57c8344d 100644 --- a/package.json +++ b/package.json @@ -234,7 +234,7 @@ "@oclif/plugin-command-snapshot": "^3.3.0", "@salesforce/dev-config": "^4.0.1", "@salesforce/dev-scripts": "^3.1.1", - "@salesforce/plugin-release-management": "^4.2.2", + "@salesforce/plugin-release-management": "^4.4.0", "@salesforce/prettier-config": "^0.0.3", "@salesforce/ts-sinon": "^1.4.15", "@types/debug": "^4.1.9", @@ -256,7 +256,7 @@ "husky": "^7.0.4", "mocha": "^9.2.2", "nyc": "^15.1.0", - "oclif": "^3.16.0", + "oclif": "^3.17.1", "prettier": "^2.8.8", "pretty-quick": "^3.1.3", "sinon": "^11.1.2", diff --git a/yarn.lock b/yarn.lock index d101fcf6..8adcbd6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1797,10 +1797,10 @@ open "^8.4.2" tslib "^2" -"@salesforce/plugin-release-management@^4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@salesforce/plugin-release-management/-/plugin-release-management-4.2.2.tgz#6187b91dc5b0d527ac31c68810eb2439e6808a39" - integrity sha512-vMw9O1z89MTnS4lRJ1ktGMrthYRIcMS8K7ceDVAsKydYryuaCxD4Ak+OA59/K+ihJ9fjjzkzqsWNt+NENDMwRQ== +"@salesforce/plugin-release-management@^4.3.1-dev.0": + version "4.3.1-dev.0" + resolved "https://registry.yarnpkg.com/@salesforce/plugin-release-management/-/plugin-release-management-4.3.1-dev.0.tgz#5d893c0823479108856fb9db8c33561c92e12397" + integrity sha512-0GWkRqum5ar3/SSumuD8k4J+nr4wGFfbHyHtgYn6cSZTSs6ll+VaUNxs4rk/0tCJw6EYC/iPgCTt5A6IzwYoFw== dependencies: "@oclif/core" "^2.15.0" "@octokit/core" "^4.2.4" @@ -8219,10 +8219,10 @@ object.values@^1.1.5, object.values@^1.1.6: define-properties "^1.1.4" es-abstract "^1.20.4" -oclif@^3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.16.0.tgz#b1983f310cbb25944d7da02125aa0c095aa7669d" - integrity sha512-qbPJ9SifBDPeMnuYIyJc0+kGyXmLubJs/lOD1wjrvAiKqTWQ1xy/EFlNMgBGETCf7RQf1iSJmvf+s22ZkLc7Ow== +oclif@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.17.1.tgz#be210c063d4e78995b8dab594c3a220c4cf17710" + integrity sha512-qwop0W9s5nJJ9tTdLsYXxxvGSNc9xKjXccEAGCXM+x8NmGtZ4P89FwqDY4PIG7IeV9VNpYhZKQArpZNwPGn0CQ== dependencies: "@oclif/core" "^2.11.4" "@oclif/plugin-help" "^5.2.14"