diff options
Diffstat (limited to '.github')
| -rwxr-xr-x | .github/workflows/ci.generate.ts | 38 | ||||
| -rw-r--r-- | .github/workflows/ci.yml | 33 |
2 files changed, 58 insertions, 13 deletions
diff --git a/.github/workflows/ci.generate.ts b/.github/workflows/ci.generate.ts index be71828e3..10bf59521 100755 --- a/.github/workflows/ci.generate.ts +++ b/.github/workflows/ci.generate.ts @@ -275,14 +275,18 @@ function handleMatrixItems(items: { } if (typeof item.skip === "string") { - let text = "${{ ("; - text += removeSurroundingExpression(item.skip.toString()) + ") && "; + let text = + "${{ (!contains(github.event.pull_request.labels.*.name, 'ci-full') && ("; + text += removeSurroundingExpression(item.skip.toString()) + ")) && "; text += `'${Runners.ubuntu}' || ${ removeSurroundingExpression(item.os) } }}`; // deno-lint-ignore no-explicit-any (item as any).runner = text; + item.skip = + "${{ !contains(github.event.pull_request.labels.*.name, 'ci-full') && (" + + removeSurroundingExpression(item.skip.toString()) + ") }}"; } return { @@ -526,11 +530,19 @@ const ci = { name: "Install aarch64 lld", run: [ "./tools/install_prebuilt.js ld64.lld", - "echo $GITHUB_WORKSPACE/third_party/prebuilt/mac >> $GITHUB_PATH", ].join("\n"), if: `matrix.os == '${macosArmRunner}'`, }, { + name: "Install rust-codesign", + run: [ + "./tools/install_prebuilt.js rcodesign", + "echo $GITHUB_WORKSPACE/third_party/prebuilt/mac >> $GITHUB_PATH", + ].join("\n"), + if: + `(matrix.os == '${macosArmRunner}' || matrix.os == '${macosX86Runner}')`, + }, + { name: "Log versions", run: [ "python --version", @@ -680,7 +692,17 @@ const ci = { "matrix.profile == 'release' &&", "github.repository == 'denoland/deno'", ].join("\n"), + env: { + "APPLE_CODESIGN_KEY": "${{ secrets.APPLE_CODESIGN_KEY }}", + "APPLE_CODESIGN_PASSWORD": "${{ secrets.APPLE_CODESIGN_PASSWORD }}", + }, run: [ + 'echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes"', + "rcodesign sign target/release/deno " + + "--code-signature-flags=runtime " + + '--p12-password="$APPLE_CODESIGN_PASSWORD" ' + + "--p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) " + + "--entitlements-xml-file=cli/entitlements.plist", "cd target/release", "zip -r deno-x86_64-apple-darwin.zip deno", ] @@ -694,7 +716,17 @@ const ci = { "matrix.profile == 'release' &&", "github.repository == 'denoland/deno'", ].join("\n"), + env: { + "APPLE_CODESIGN_KEY": "${{ secrets.APPLE_CODESIGN_KEY }}", + "APPLE_CODESIGN_PASSWORD": "${{ secrets.APPLE_CODESIGN_PASSWORD }}", + }, run: [ + 'echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes"', + "rcodesign sign target/release/deno " + + "--code-signature-flags=runtime " + + '--p12-password="$APPLE_CODESIGN_PASSWORD" ' + + "--p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) " + + "--entitlements-xml-file=cli/entitlements.plist", "cd target/release", "zip -r deno-aarch64-apple-darwin.zip deno", ] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2a88523cb..dfc037116 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,14 +60,14 @@ jobs: - os: macos-12 job: test profile: release - skip: '${{ github.event_name == ''pull_request'' }}' - runner: '${{ (github.event_name == ''pull_request'') && ''ubuntu-22.04'' || ''macos-12'' }}' + skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'') }}' + runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-22.04'' || ''macos-12'' }}' os_display_name: macos-x86_64 - os: macos-13-xlarge job: test profile: release - skip: '${{ github.event_name == ''pull_request'' || github.ref == ''refs/heads/main'' }}' - runner: '${{ (github.event_name == ''pull_request'' || github.ref == ''refs/heads/main'') && ''ubuntu-22.04'' || ''macos-13-xlarge'' }}' + skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'' || github.ref == ''refs/heads/main'') }}' + runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'' || github.ref == ''refs/heads/main'')) && ''ubuntu-22.04'' || ''macos-13-xlarge'' }}' os_display_name: macos-aarch64 - os: windows-2022 job: test @@ -76,8 +76,8 @@ jobs: - os: '${{ github.repository == ''denoland/deno'' && ''windows-2022-xl'' || ''windows-2022'' }}' job: test profile: release - skip: '${{ github.event_name == ''pull_request'' }}' - runner: '${{ (github.event_name == ''pull_request'') && ''ubuntu-22.04'' || github.repository == ''denoland/deno'' && ''windows-2022-xl'' || ''windows-2022'' }}' + skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'') }}' + runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'')) && ''ubuntu-22.04'' || github.repository == ''denoland/deno'' && ''windows-2022-xl'' || ''windows-2022'' }}' os_display_name: windows-x86_64 - os: '${{ github.repository == ''denoland/deno'' && ''ubuntu-22.04-xl'' || ''ubuntu-22.04'' }}' job: test @@ -89,8 +89,8 @@ jobs: job: bench profile: release use_sysroot: true - skip: '${{ github.event_name == ''pull_request'' && !contains(github.event.pull_request.labels.*.name, ''ci-bench'') }}' - runner: '${{ (github.event_name == ''pull_request'' && !contains(github.event.pull_request.labels.*.name, ''ci-bench'')) && ''ubuntu-22.04'' || github.repository == ''denoland/deno'' && ''ubuntu-22.04-xl'' || ''ubuntu-22.04'' }}' + skip: '${{ !contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'' && !contains(github.event.pull_request.labels.*.name, ''ci-bench'')) }}' + runner: '${{ (!contains(github.event.pull_request.labels.*.name, ''ci-full'') && (github.event_name == ''pull_request'' && !contains(github.event.pull_request.labels.*.name, ''ci-bench''))) && ''ubuntu-22.04'' || github.repository == ''denoland/deno'' && ''ubuntu-22.04-xl'' || ''ubuntu-22.04'' }}' os_display_name: ubuntu-x86_64 - os: ubuntu-22.04 job: test @@ -301,10 +301,13 @@ jobs: CFLAGS=-flto=thin --sysroot=/sysroot __0 - name: Install aarch64 lld + run: ./tools/install_prebuilt.js ld64.lld + if: '!(matrix.skip) && (matrix.os == ''macos-13-xlarge'')' + - name: Install rust-codesign run: |- - ./tools/install_prebuilt.js ld64.lld + ./tools/install_prebuilt.js rcodesign echo $GITHUB_WORKSPACE/third_party/prebuilt/mac >> $GITHUB_PATH - if: '!(matrix.skip) && (matrix.os == ''macos-13-xlarge'')' + if: '!(matrix.skip) && ((matrix.os == ''macos-13-xlarge'' || matrix.os == ''macos-12''))' - name: Log versions run: |- python --version @@ -403,7 +406,12 @@ jobs: matrix.job == 'test' && matrix.profile == 'release' && github.repository == 'denoland/deno') + env: + APPLE_CODESIGN_KEY: '${{ secrets.APPLE_CODESIGN_KEY }}' + APPLE_CODESIGN_PASSWORD: '${{ secrets.APPLE_CODESIGN_PASSWORD }}' run: |- + echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes" + rcodesign sign target/release/deno --code-signature-flags=runtime --p12-password="$APPLE_CODESIGN_PASSWORD" --p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) --entitlements-xml-file=cli/entitlements.plist cd target/release zip -r deno-x86_64-apple-darwin.zip deno - name: Pre-release (mac aarch64) @@ -412,7 +420,12 @@ jobs: matrix.job == 'test' && matrix.profile == 'release' && github.repository == 'denoland/deno') + env: + APPLE_CODESIGN_KEY: '${{ secrets.APPLE_CODESIGN_KEY }}' + APPLE_CODESIGN_PASSWORD: '${{ secrets.APPLE_CODESIGN_PASSWORD }}' run: |- + echo "Key is $(echo $APPLE_CODESIGN_KEY | base64 -d | wc -c) bytes" + rcodesign sign target/release/deno --code-signature-flags=runtime --p12-password="$APPLE_CODESIGN_PASSWORD" --p12-file=<(echo $APPLE_CODESIGN_KEY | base64 -d) --entitlements-xml-file=cli/entitlements.plist cd target/release zip -r deno-aarch64-apple-darwin.zip deno - name: Pre-release (windows) |
