Keep using ubuntu-20.04 in GitHub Actions (and clang++-10 in coverage) (#795)

### Problem
ubuntu-latest was updated to 22.04 which removes clang++-10 we used for
coverage stats and creates a pre-compiled binary that requires a glibc
upgrade https://github.com/Roblox/luau/issues/773

### Solution
Pin to ubuntu-20.04 using multi-value matrix configurations.
In coverage configuration, we use clang++-10 once again.
This commit is contained in:
vegorov-rbx 2023-01-06 12:17:25 -08:00 committed by GitHub
parent 75a2e95714
commit 685ca02a30
Signed by: DevComp
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 26 deletions

View file

@ -108,7 +108,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-latest, macos-latest] os: [ubuntu-20.04, macos-latest]
bench: bench:
- { - {
script: "run-benchmarks", script: "run-benchmarks",

View file

@ -20,9 +20,9 @@ jobs:
unix: unix:
strategy: strategy:
matrix: matrix:
os: [ubuntu, macos] os: [{name: ubuntu, version: ubuntu-20.04}, {name: macos, version: macos-latest}]
name: ${{matrix.os}} name: ${{matrix.os.name}}
runs-on: ${{matrix.os}}-latest runs-on: ${{matrix.os.version}}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: make tests - name: make tests
@ -81,7 +81,7 @@ jobs:
Debug/luau-analyze tests/conformance/assert.lua Debug/luau-analyze tests/conformance/assert.lua
coverage: coverage:
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: install - name: install
@ -89,7 +89,7 @@ jobs:
sudo apt install llvm sudo apt install llvm
- name: make coverage - name: make coverage
run: | run: |
CXX=clang++ make -j2 config=coverage native=1 coverage CXX=clang++-10 make -j2 config=coverage native=1 coverage
- name: upload coverage - name: upload coverage
uses: codecov/codecov-action@v3 uses: codecov/codecov-action@v3
with: with:
@ -97,7 +97,7 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
web: web:
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View file

@ -12,7 +12,7 @@ permissions:
jobs: jobs:
create-release: create-release:
runs-on: ubuntu-latest runs-on: ubuntu-20.04
outputs: outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }} upload_url: ${{ steps.create_release.outputs.upload_url }}
steps: steps:
@ -30,9 +30,9 @@ jobs:
needs: ["create-release"] needs: ["create-release"]
strategy: strategy:
matrix: matrix:
os: [ubuntu, macos, windows] os: [{name: ubuntu, version: ubuntu-20.04}, {name: macos, version: macos-latest}, {name: windows, version: windows-latest}]
name: ${{matrix.os}} name: ${{matrix.os.name}}
runs-on: ${{matrix.os}}-latest runs-on: ${{matrix.os.version}}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: configure - name: configure
@ -40,23 +40,23 @@ jobs:
- name: build - name: build
run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI --config Release -j 2 run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI --config Release -j 2
- name: pack - name: pack
if: matrix.os != 'windows' if: matrix.os.name != 'windows'
run: zip luau-${{matrix.os}}.zip luau* run: zip luau-${{matrix.os.name}}.zip luau*
- name: pack - name: pack
if: matrix.os == 'windows' if: matrix.os.name == 'windows'
run: 7z a luau-${{matrix.os}}.zip .\Release\luau*.exe run: 7z a luau-${{matrix.os.name}}.zip .\Release\luau*.exe
- uses: actions/upload-release-asset@v1 - uses: actions/upload-release-asset@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
upload_url: ${{ needs.create-release.outputs.upload_url }} upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: luau-${{matrix.os}}.zip asset_path: luau-${{matrix.os.name}}.zip
asset_name: luau-${{matrix.os}}.zip asset_name: luau-${{matrix.os.name}}.zip
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
web: web:
needs: ["create-release"] needs: ["create-release"]
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: actions/checkout@v2 - uses: actions/checkout@v2

View file

@ -14,9 +14,9 @@ jobs:
build: build:
strategy: strategy:
matrix: matrix:
os: [ubuntu, macos, windows] os: [{name: ubuntu, version: ubuntu-20.04}, {name: macos, version: macos-latest}, {name: windows, version: windows-latest}]
name: ${{matrix.os}} name: ${{matrix.os.name}}
runs-on: ${{matrix.os}}-latest runs-on: ${{matrix.os.version}}
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- name: configure - name: configure
@ -24,18 +24,18 @@ jobs:
- name: build - name: build
run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI --config Release -j 2 run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI --config Release -j 2
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
if: matrix.os != 'windows' if: matrix.os.name != 'windows'
with: with:
name: luau-${{matrix.os}} name: luau-${{matrix.os.name}}
path: luau* path: luau*
- uses: actions/upload-artifact@v2 - uses: actions/upload-artifact@v2
if: matrix.os == 'windows' if: matrix.os.name == 'windows'
with: with:
name: luau-${{matrix.os}} name: luau-${{matrix.os.name}}
path: Release\luau*.exe path: Release\luau*.exe
web: web:
runs-on: ubuntu-latest runs-on: ubuntu-20.04
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: actions/checkout@v2 - uses: actions/checkout@v2