mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
ci: Switch to version 4 of GitHub artifact actions (#31357)
* ci: Switch to version 4 of GitHub artifact actions This switches to version 4 of the GitHub artifact actions, which requires producing a single artifact per job and adding merge steps. In addition, the names of artifacts are standardized: - Build: <profile>-binary-<platform> - Full WPT results (only on failure): wpt-full-logs-<platform>-<layout> - Filtered WPT results (only on failure): wpt-filtered-logs-<platform>-<layout> * Delete merged build timings and combine with Result job * Always archives logs even after test failures * Correct the name of the log files for WPT import
This commit is contained in:
parent
d5c9e569bf
commit
1cc546c4fc
9 changed files with 144 additions and 133 deletions
11
.github/workflows/android.yml
vendored
11
.github/workflows/android.yml
vendored
|
@ -70,20 +70,19 @@ jobs:
|
||||||
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||||
run: |
|
run: |
|
||||||
python3 ./mach build --android --target ${{ matrix.arch }} --${{ inputs.profile }}
|
python3 ./mach build --android --target ${{ matrix.arch }} --${{ inputs.profile }}
|
||||||
|
cp -r target/cargo-timings target/cargo-timings-android-${{ matrix.arch }}
|
||||||
# TODO: This is disabled since APK crashes during startup.
|
# TODO: This is disabled since APK crashes during startup.
|
||||||
# See https://github.com/servo/servo/issues/31134
|
# See https://github.com/servo/servo/issues/31134
|
||||||
# - name: Script tests
|
# - name: Script tests
|
||||||
# run: ./mach test-android-startup
|
# run: ./mach test-android-startup
|
||||||
- name: Rename build timing
|
|
||||||
run: cp -r target/cargo-timings target/cargo-timings-android-${{ matrix.arch }}
|
|
||||||
- name: Archive build timing
|
- name: Archive build timing
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cargo-timings
|
name: cargo-timings-android-${{ matrix.arch }}
|
||||||
# Using a wildcard here ensures that the archive includes the path.
|
# Using a wildcard here ensures that the archive includes the path.
|
||||||
path: target/cargo-timings-*
|
path: target/cargo-timings-*
|
||||||
- name: Upload APK artifact for mach package
|
- name: Upload APK artifact for mach package
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: android-${{ matrix.arch }}-${{ inputs.profile }}
|
name: ${{ inputs.profile }}-binary-android-${{ matrix.arch }}
|
||||||
path: target/android/${{ matrix.arch }}/${{ inputs.profile }}/servoapp.apk
|
path: target/android/${{ matrix.arch }}/${{ inputs.profile }}/servoapp.apk
|
||||||
|
|
109
.github/workflows/linux-wpt.yml
vendored
109
.github/workflows/linux-wpt.yml
vendored
|
@ -20,8 +20,10 @@ on:
|
||||||
env:
|
env:
|
||||||
RUST_BACKTRACE: 1
|
RUST_BACKTRACE: 1
|
||||||
SHELL: /bin/bash
|
SHELL: /bin/bash
|
||||||
WPT_COMMAND_LINE_ARG: "${{ inputs.wpt-layout == 'layout-2013' && '--legacy-layout' || '' }}"
|
|
||||||
GST_PLUGIN_FEATURE_RANK: pulsesink:NONE,alsasink:NONE,jacksink:NONE,fakesink:MAX
|
GST_PLUGIN_FEATURE_RANK: pulsesink:NONE,alsasink:NONE,jacksink:NONE,fakesink:MAX
|
||||||
|
INTERMITTENT_TRACKER_DASHBOARD_SECRET: ${{ !inputs.wpt-sync-from-upstream && secrets.INTERMITTENT_TRACKER_DASHBOARD_SECRET || '' }}
|
||||||
|
WPT_LAYOUT_ARG: "${{ inputs.wpt-layout == 'layout-2013' && '--legacy-layout' || '' }}"
|
||||||
|
WPT_ALWAYS_SUCCEED_ARG: "${{ inputs.wpt-sync-from-upstream && '--always-succeed' || '' }}"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux-wpt:
|
linux-wpt:
|
||||||
|
@ -45,12 +47,12 @@ jobs:
|
||||||
with:
|
with:
|
||||||
ref: refs/pull/${{ github.event.number }}/head
|
ref: refs/pull/${{ github.event.number }}/head
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: release-binary
|
name: ${{ inputs.profile }}-binary-linux
|
||||||
path: release-binary
|
path: ${{ inputs.profile }}-binary-linux
|
||||||
- name: unPackage binary
|
- name: unPackage binary
|
||||||
run: tar -xzf release-binary/target.tar.gz
|
run: tar -xzf ${{ inputs.profile }}-binary-linux/target.tar.gz
|
||||||
- name: Bootstrap dependencies
|
- name: Bootstrap dependencies
|
||||||
run: |
|
run: |
|
||||||
python3 -m pip install --upgrade pip
|
python3 -m pip install --upgrade pip
|
||||||
|
@ -62,75 +64,66 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
./mach update-wpt --sync --patch
|
./mach update-wpt --sync --patch
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
if: ${{ !inputs.wpt-sync-from-upstream }}
|
|
||||||
run: |
|
run: |
|
||||||
python3 ./mach test-wpt $WPT_COMMAND_LINE_ARG ${{ inputs.wpt-tests-to-run }} \
|
mkdir -p wpt-filtered-logs/linux-${{ inputs.wpt-layout }}
|
||||||
|
mkdir -p wpt-full-logs/linux-${{ inputs.wpt-layout }}
|
||||||
|
python3 ./mach test-wpt \
|
||||||
|
$WPT_LAYOUT_ARG \
|
||||||
|
$WPT_ALWAYS_SUCCEED_ARG \
|
||||||
|
${{ inputs.wpt-tests-to-run }} \
|
||||||
--${{ inputs.profile }} --processes $(nproc) --timeout-multiplier 2 \
|
--${{ inputs.profile }} --processes $(nproc) --timeout-multiplier 2 \
|
||||||
--total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
|
--total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
|
||||||
--log-raw test-wpt.${{ matrix.chunk_id }}.log \
|
--log-raw wpt-full-logs/linux-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.log \
|
||||||
--log-raw-unexpected unexpected-test-wpt.${{ matrix.chunk_id }}.log \
|
--log-raw-unexpected wpt-filtered-logs/linux-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.log \
|
||||||
--filter-intermittents filtered-test-wpt.${{ matrix.chunk_id }}.json
|
--filter-intermittents wpt-filtered-logs/linux-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.json
|
||||||
env:
|
env:
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||||
INTERMITTENT_TRACKER_DASHBOARD_SECRET: ${{ secrets.INTERMITTENT_TRACKER_DASHBOARD_SECRET }}
|
- name: Archive results (filtered)
|
||||||
- name: Run tests (sync)
|
uses: actions/upload-artifact@v4
|
||||||
if: ${{ inputs.wpt-sync-from-upstream }}
|
if: ${{ always() }}
|
||||||
run: |
|
|
||||||
python3 ./mach test-wpt $WPT_COMMAND_LINE_ARG \
|
|
||||||
--${{ inputs.profile }} --processes $(nproc) --timeout-multiplier 2 \
|
|
||||||
--total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
|
|
||||||
--log-raw test-wpt.${{ matrix.chunk_id }}.log \
|
|
||||||
--always-succeed
|
|
||||||
- name: Archive filtered results
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ always() && !inputs.wpt-sync-from-upstream }}
|
|
||||||
with:
|
with:
|
||||||
name: wpt-filtered-results-linux-${{ inputs.wpt-layout }}
|
name: wpt-filtered-logs-linux-${{ inputs.wpt-layout }}-${{ matrix.chunk_id }}
|
||||||
path: |
|
path: wpt-filtered-logs/*/
|
||||||
filtered-test-wpt.${{ matrix.chunk_id }}.json
|
- name: Archive results (full)
|
||||||
unexpected-test-wpt.${{ matrix.chunk_id }}.log
|
uses: actions/upload-artifact@v4
|
||||||
- name: Archive logs
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ failure() && !inputs.wpt-sync-from-upstream }}
|
|
||||||
with:
|
with:
|
||||||
name: wpt-logs-linux-${{ inputs.wpt-layout }}
|
name: wpt-full-logs-linux-${{ inputs.wpt-layout }}-${{ matrix.chunk_id }}
|
||||||
path: |
|
path: wpt-full-logs/*/
|
||||||
test-wpt.${{ matrix.chunk_id }}.log
|
|
||||||
- name: Archive logs
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: ${{ inputs.wpt-sync-from-upstream }}
|
|
||||||
with:
|
|
||||||
name: wpt-logs-linux-${{ inputs.wpt-layout }}
|
|
||||||
path: |
|
|
||||||
test-wpt.${{ matrix.chunk_id }}.log
|
|
||||||
wpt-jsonsummary.${{ matrix.chunk_id }}.log
|
|
||||||
|
|
||||||
report-test-results:
|
report-test-results:
|
||||||
name: Report WPT Results
|
name: Process WPT Results
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ always() && !cancelled() && !inputs.wpt-sync-from-upstream }}
|
if: ${{ always() }}
|
||||||
needs:
|
needs: linux-wpt
|
||||||
- "linux-wpt"
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Merge logs (filtered)
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: wpt-filtered-logs-linux-${{ inputs.wpt-layout }}
|
||||||
|
pattern: wpt-filtered-logs-linux-${{ inputs.wpt-layout }}-*
|
||||||
|
delete-merged: true
|
||||||
|
- name: Merge logs (full)
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: wpt-full-logs-linux-${{ inputs.wpt-layout }}
|
||||||
|
pattern: wpt-full-logs-linux-${{ inputs.wpt-layout }}-*
|
||||||
|
delete-merged: true
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
if: ${{ !cancelled() && !inputs.wpt-sync-from-upstream }}
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
|
if: ${{ !cancelled() && !inputs.wpt-sync-from-upstream }}
|
||||||
with:
|
with:
|
||||||
name: wpt-filtered-results-linux-${{ inputs.wpt-layout }}
|
name: wpt-filtered-logs-linux-${{ inputs.wpt-layout }}
|
||||||
path: wpt-filtered-results-linux
|
path: results
|
||||||
- name: Create aggregated unexpected results
|
- name: Report results
|
||||||
|
if: ${{ !cancelled() && !inputs.wpt-sync-from-upstream }}
|
||||||
run: |
|
run: |
|
||||||
cat wpt-filtered-results-linux/*.log > unexpected-test-wpt-${{ inputs.wpt-layout }}.log
|
etc/ci/report_aggregated_expected_results.py \
|
||||||
- name: Archive aggregate results
|
--tag="linux-wpt-${{ inputs.wpt-layout }}" \
|
||||||
uses: actions/upload-artifact@v3
|
results/linux-${{ inputs.wpt-layout }}/*.json
|
||||||
with:
|
|
||||||
name: wpt-filtered-results-linux
|
|
||||||
path: |
|
|
||||||
unexpected-test-wpt-${{ inputs.wpt-layout }}.log
|
|
||||||
- name: Comment on PR with results
|
|
||||||
run: |
|
|
||||||
etc/ci/report_aggregated_expected_results.py --tag="linux-wpt-${{ inputs.wpt-layout }}" wpt-filtered-results-linux/*.json
|
|
||||||
env:
|
env:
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
16
.github/workflows/linux.yml
vendored
16
.github/workflows/linux.yml
vendored
|
@ -105,7 +105,9 @@ jobs:
|
||||||
- name: Tidy
|
- name: Tidy
|
||||||
run: python3 ./mach test-tidy --no-progress --all
|
run: python3 ./mach test-tidy --no-progress --all
|
||||||
- name: Build (${{ inputs.profile }})
|
- name: Build (${{ inputs.profile }})
|
||||||
run: python3 ./mach build --${{ inputs.profile }}
|
run: |
|
||||||
|
python3 ./mach build --${{ inputs.profile }}
|
||||||
|
cp -r target/cargo-timings target/cargo-timings-linux
|
||||||
- name: Smoketest
|
- name: Smoketest
|
||||||
run: xvfb-run python3 ./mach smoketest --${{ inputs.profile }}
|
run: xvfb-run python3 ./mach smoketest --${{ inputs.profile }}
|
||||||
- name: Script tests
|
- name: Script tests
|
||||||
|
@ -117,12 +119,10 @@ jobs:
|
||||||
timeout_minutes: 20
|
timeout_minutes: 20
|
||||||
max_attempts: 2 # https://github.com/servo/servo/issues/30683
|
max_attempts: 2 # https://github.com/servo/servo/issues/30683
|
||||||
command: python ./mach test-unit --${{ inputs.profile }}
|
command: python ./mach test-unit --${{ inputs.profile }}
|
||||||
- name: Rename build timing
|
|
||||||
run: cp -r target/cargo-timings target/cargo-timings-linux
|
|
||||||
- name: Archive build timing
|
- name: Archive build timing
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cargo-timings
|
name: cargo-timings-linux
|
||||||
# Using a wildcard here ensures that the archive includes the path.
|
# Using a wildcard here ensures that the archive includes the path.
|
||||||
path: target/cargo-timings-*
|
path: target/cargo-timings-*
|
||||||
- name: Lockfile check
|
- name: Lockfile check
|
||||||
|
@ -130,7 +130,7 @@ jobs:
|
||||||
- name: Build mach package
|
- name: Build mach package
|
||||||
run: python3 ./mach package --${{ inputs.profile }}
|
run: python3 ./mach package --${{ inputs.profile }}
|
||||||
- name: Upload artifact for mach package
|
- name: Upload artifact for mach package
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: linux
|
name: linux
|
||||||
path: target/${{ inputs.profile }}/servo-tech-demo.tar.gz
|
path: target/${{ inputs.profile }}/servo-tech-demo.tar.gz
|
||||||
|
@ -147,9 +147,9 @@ jobs:
|
||||||
- name: Build package for target
|
- name: Build package for target
|
||||||
run: tar -czf target.tar.gz target/${{ inputs.profile }}/servo resources
|
run: tar -czf target.tar.gz target/${{ inputs.profile }}/servo resources
|
||||||
- name: Upload artifact for target
|
- name: Upload artifact for target
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: release-binary
|
name: ${{ inputs.profile }}-binary-linux
|
||||||
path: target.tar.gz
|
path: target.tar.gz
|
||||||
|
|
||||||
wpt-2020:
|
wpt-2020:
|
||||||
|
|
79
.github/workflows/mac-wpt.yml
vendored
79
.github/workflows/mac-wpt.yml
vendored
|
@ -41,9 +41,9 @@ jobs:
|
||||||
with:
|
with:
|
||||||
ref: refs/pull/${{ github.event.number }}/head
|
ref: refs/pull/${{ github.event.number }}/head
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: release-binary-macos
|
name: ${{ inputs.profile }}-binary-macos
|
||||||
- name: Prep test environment
|
- name: Prep test environment
|
||||||
run: |
|
run: |
|
||||||
gtar -xzf target.tar.gz
|
gtar -xzf target.tar.gz
|
||||||
|
@ -53,53 +53,60 @@ jobs:
|
||||||
run: python3 ./mach smoketest --${{ inputs.profile }}
|
run: python3 ./mach smoketest --${{ inputs.profile }}
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: |
|
run: |
|
||||||
|
mkdir -p wpt-filtered-logs/macos-${{ inputs.wpt-layout }}
|
||||||
|
mkdir -p wpt-full-logs/macos-${{ inputs.wpt-layout }}
|
||||||
python3 ./mach test-wpt $WPT_COMMAND_LINE_ARG ${{ inputs.wpt-tests-to-run }} \
|
python3 ./mach test-wpt $WPT_COMMAND_LINE_ARG ${{ inputs.wpt-tests-to-run }} \
|
||||||
--${{ inputs.profile }} --processes $(sysctl -n hw.logicalcpu) --timeout-multiplier 8 \
|
--${{ inputs.profile }} --processes $(sysctl -n hw.logicalcpu) --timeout-multiplier 8 \
|
||||||
--total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
|
--total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
|
||||||
--log-raw test-wpt.${{ matrix.chunk_id }}.log \
|
--log-raw wpt-full-logs/macos-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.log \
|
||||||
--log-raw-unexpected unexpected-test-wpt.${{ matrix.chunk_id }}.log \
|
--log-raw-unexpected wpt-filtered-logs/macos-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.log \
|
||||||
--filter-intermittents filtered-test-wpt.${{ matrix.chunk_id }}.json
|
--filter-intermittents wpt-filtered-logs/macos-${{ inputs.wpt-layout }}/${{ matrix.chunk_id }}.json
|
||||||
- name: Archive filtered results
|
- name: Archive results (filtered)
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: ${{ always() }}
|
||||||
with:
|
with:
|
||||||
name: wpt-filtered-results-mac-${{ inputs.wpt-layout }}
|
name: wpt-filtered-logs-macos-${{ inputs.wpt-layout }}-${{ matrix.chunk_id }}
|
||||||
path: |
|
path: wpt-filtered-logs/*/
|
||||||
filtered-test-wpt.${{ matrix.chunk_id }}.json
|
- name: Archive results (full)
|
||||||
unexpected-test-wpt.${{ matrix.chunk_id }}.log
|
uses: actions/upload-artifact@v4
|
||||||
- name: Archive logs
|
if: ${{ always() }}
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
if: failure()
|
|
||||||
with:
|
with:
|
||||||
name: wpt-logs-mac-${{ inputs.wpt-layout }}
|
name: wpt-full-logs-macos-${{ inputs.wpt-layout }}-${{ matrix.chunk_id }}
|
||||||
path: |
|
path: wpt-full-logs/*/
|
||||||
test-wpt.${{ matrix.chunk_id }}.log
|
|
||||||
filtered-wpt-results.${{ matrix.chunk_id }}.json
|
|
||||||
|
|
||||||
report-test-results:
|
report-test-results:
|
||||||
name: Reporting test results
|
name: Process WPT Results
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ always() && !cancelled() }}
|
if: ${{ always() }}
|
||||||
needs: [ mac-wpt ]
|
needs: mac-wpt
|
||||||
steps:
|
steps:
|
||||||
|
- name: Merge logs (filtered)
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: wpt-filtered-logs-macos-${{ inputs.wpt-layout }}
|
||||||
|
pattern: wpt-filtered-logs-macos-${{ inputs.wpt-layout }}-*
|
||||||
|
delete-merged: true
|
||||||
|
- name: Merge logs (full)
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: wpt-full-logs-macos-${{ inputs.wpt-layout }}
|
||||||
|
pattern: wpt-full-logs-macos-${{ inputs.wpt-layout }}-*
|
||||||
|
delete-merged: true
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
name: wpt-filtered-results-mac-${{ inputs.wpt-layout }}
|
name: wpt-filtered-logs-macos-${{ inputs.wpt-layout }}
|
||||||
path: wpt-filtered-results-mac
|
path: results
|
||||||
- name: Create aggregated unexpected results
|
- name: Report results
|
||||||
run: cat wpt-filtered-results-mac/*.log > unexpected-test-wpt.log
|
if: ${{ !cancelled() }}
|
||||||
- name: Archive aggregate results
|
run: |
|
||||||
uses: actions/upload-artifact@v3
|
etc/ci/report_aggregated_expected_results.py \
|
||||||
with:
|
--tag="macos-wpt-${{ inputs.wpt-layout }}" \
|
||||||
name: wpt-filtered-results-mac-${{ inputs.wpt-layout }}
|
results/macos-${{ inputs.wpt-layout }}/*.json
|
||||||
path: |
|
|
||||||
unexpected-test-wpt.log
|
|
||||||
- name: Comment on PR with results
|
|
||||||
run: etc/ci/report_aggregated_expected_results.py --tag="mac-wpt-${{ inputs.wpt-layout }}"
|
|
||||||
wpt-filtered-results-mac/*.json
|
|
||||||
env:
|
env:
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
13
.github/workflows/mac.yml
vendored
13
.github/workflows/mac.yml
vendored
|
@ -94,6 +94,7 @@ jobs:
|
||||||
- name: Build (${{ inputs.profile }})
|
- name: Build (${{ inputs.profile }})
|
||||||
run: |
|
run: |
|
||||||
python3 ./mach build --${{ inputs.profile }}
|
python3 ./mach build --${{ inputs.profile }}
|
||||||
|
cp -r target/cargo-timings target/cargo-timings-macos
|
||||||
- name: Smoketest
|
- name: Smoketest
|
||||||
uses: nick-fields/retry@v2
|
uses: nick-fields/retry@v2
|
||||||
with: # See https://github.com/servo/servo/issues/30757
|
with: # See https://github.com/servo/servo/issues/30757
|
||||||
|
@ -117,16 +118,14 @@ jobs:
|
||||||
timeout_minutes: 5
|
timeout_minutes: 5
|
||||||
max_attempts: 2
|
max_attempts: 2
|
||||||
command: ./etc/ci/macos_package_smoketest.sh target/${{ inputs.profile }}/servo-tech-demo.dmg
|
command: ./etc/ci/macos_package_smoketest.sh target/${{ inputs.profile }}/servo-tech-demo.dmg
|
||||||
- name: Rename build timing
|
|
||||||
run: cp -r target/cargo-timings target/cargo-timings-macos
|
|
||||||
- name: Archive build timing
|
- name: Archive build timing
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cargo-timings
|
name: cargo-timings-macos
|
||||||
# Using a wildcard here ensures that the archive includes the path.
|
# Using a wildcard here ensures that the archive includes the path.
|
||||||
path: target/cargo-timings-*
|
path: target/cargo-timings-*
|
||||||
- name: Upload artifact for mach package
|
- name: Upload artifact for mach package
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: mac
|
name: mac
|
||||||
path: target/${{ inputs.profile }}/servo-tech-demo.dmg
|
path: target/${{ inputs.profile }}/servo-tech-demo.dmg
|
||||||
|
@ -143,9 +142,9 @@ jobs:
|
||||||
- name: Build package for target
|
- name: Build package for target
|
||||||
run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servo target/${{ inputs.profile }}/lib/*.dylib resources
|
run: gtar -czf target.tar.gz target/${{ inputs.profile }}/servo target/${{ inputs.profile }}/lib/*.dylib resources
|
||||||
- name: Upload package for target
|
- name: Upload package for target
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: release-binary-macos
|
name: ${{ inputs.profile }}-binary-macos
|
||||||
path: target.tar.gz
|
path: target.tar.gz
|
||||||
|
|
||||||
wpt-2020:
|
wpt-2020:
|
||||||
|
|
10
.github/workflows/main.yml
vendored
10
.github/workflows/main.yml
vendored
|
@ -57,9 +57,15 @@ jobs:
|
||||||
- "build-linux"
|
- "build-linux"
|
||||||
- "build-android"
|
- "build-android"
|
||||||
steps:
|
steps:
|
||||||
- name: Mark the job as successful
|
- name: Merge build timings
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: cargo-timings
|
||||||
|
pattern: cargo-timings-*
|
||||||
|
delete-merged: true
|
||||||
|
- name: Success
|
||||||
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
|
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
|
||||||
run: exit 0
|
run: exit 0
|
||||||
- name: Mark the job as unsuccessful
|
- name: Failure
|
||||||
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
||||||
run: exit 1
|
run: exit 1
|
||||||
|
|
12
.github/workflows/scheduled-wpt-import.yml
vendored
12
.github/workflows/scheduled-wpt-import.yml
vendored
|
@ -31,8 +31,12 @@ jobs:
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 2
|
fetch-depth: 2
|
||||||
# Download all artifacts
|
- uses: actions/download-artifact@v4
|
||||||
- uses: actions/download-artifact@v3
|
with:
|
||||||
|
name: wpt-full-logs-linux-layout-2013
|
||||||
|
- uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: wpt-full-logs-linux-layout-2020
|
||||||
- name: Prep environment
|
- name: Prep environment
|
||||||
run: |
|
run: |
|
||||||
python3 -m pip install --upgrade pip
|
python3 -m pip install --upgrade pip
|
||||||
|
@ -52,8 +56,8 @@ jobs:
|
||||||
export CURRENT_DATE=$(date +"%d-%m-%Y")
|
export CURRENT_DATE=$(date +"%d-%m-%Y")
|
||||||
echo $CURRENT_DATE
|
echo $CURRENT_DATE
|
||||||
echo "CURRENT_DATE=$CURRENT_DATE" >> $GITHUB_ENV
|
echo "CURRENT_DATE=$CURRENT_DATE" >> $GITHUB_ENV
|
||||||
./mach update-wpt --legacy-layout wpt-logs-linux-layout-2013/test-wpt.*.log
|
./mach update-wpt linux-layout-2013/*.log --legacy-layout
|
||||||
./mach update-wpt wpt-logs-linux-layout-2020/test-wpt.*.log
|
./mach update-wpt linux-layout-2020/*.log
|
||||||
git add tests/wpt/meta tests/wpt/meta-legacy-layout
|
git add tests/wpt/meta tests/wpt/meta-legacy-layout
|
||||||
git commit -a --amend --no-edit
|
git commit -a --amend --no-edit
|
||||||
- name: Push changes
|
- name: Push changes
|
||||||
|
|
15
.github/workflows/try.yml
vendored
15
.github/workflows/try.yml
vendored
|
@ -110,14 +110,17 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: always()
|
if: always()
|
||||||
# `needs: "build"` is necessary to detect cancellation.
|
# `needs: "build"` is necessary to detect cancellation.
|
||||||
needs:
|
needs: [ "decision", "build" ]
|
||||||
- "decision"
|
|
||||||
- "build"
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Mark the job as successful
|
- name: Merge build timings
|
||||||
|
uses: actions/upload-artifact/merge@v4
|
||||||
|
with:
|
||||||
|
name: cargo-timings
|
||||||
|
pattern: cargo-timings-*
|
||||||
|
delete-merged: true
|
||||||
|
- name: Success
|
||||||
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
|
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
|
||||||
run: exit 0
|
run: exit 0
|
||||||
- name: Mark the job as unsuccessful
|
- name: Failure
|
||||||
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
|
||||||
run: exit 1
|
run: exit 1
|
||||||
|
|
12
.github/workflows/windows.yml
vendored
12
.github/workflows/windows.yml
vendored
|
@ -81,7 +81,9 @@ jobs:
|
||||||
python mach bootstrap-gstreamer
|
python mach bootstrap-gstreamer
|
||||||
cargo install --path support/crown
|
cargo install --path support/crown
|
||||||
- name: Build (${{ inputs.profile }})
|
- name: Build (${{ inputs.profile }})
|
||||||
run: python mach build --${{ inputs.profile }}
|
run: |
|
||||||
|
python mach build --${{ inputs.profile }}
|
||||||
|
cp C:\a\servo\servo\target\cargo-timings C:\a\servo\servo\target\cargo-timings-windows -Recurse
|
||||||
- name: Copy resources
|
- name: Copy resources
|
||||||
run: cp D:\a\servo\servo\resources C:\a\servo\servo -Recurse
|
run: cp D:\a\servo\servo\resources C:\a\servo\servo -Recurse
|
||||||
- name: Smoketest
|
- name: Smoketest
|
||||||
|
@ -93,18 +95,16 @@ jobs:
|
||||||
timeout_minutes: 30
|
timeout_minutes: 30
|
||||||
max_attempts: 3 # https://github.com/servo/servo/issues/30683
|
max_attempts: 3 # https://github.com/servo/servo/issues/30683
|
||||||
command: python mach test-unit --${{ inputs.profile }} -- -- --test-threads=1
|
command: python mach test-unit --${{ inputs.profile }} -- -- --test-threads=1
|
||||||
- name: Rename build timing
|
|
||||||
run: cp C:\a\servo\servo\target\cargo-timings C:\a\servo\servo\target\cargo-timings-windows -Recurse
|
|
||||||
- name: Archive build timing
|
- name: Archive build timing
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cargo-timings
|
name: cargo-timings-windows
|
||||||
# Using a wildcard here ensures that the archive includes the path.
|
# Using a wildcard here ensures that the archive includes the path.
|
||||||
path: C:\\a\\servo\\servo\\target\\cargo-timings-*
|
path: C:\\a\\servo\\servo\\target\\cargo-timings-*
|
||||||
- name: Build mach package
|
- name: Build mach package
|
||||||
run: python mach package --${{ inputs.profile }}
|
run: python mach package --${{ inputs.profile }}
|
||||||
- name: Upload artifact for mach package
|
- name: Upload artifact for mach package
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: win
|
name: win
|
||||||
# These files are available
|
# These files are available
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue