mirror of
https://github.com/luau-lang/luau.git
synced 2024-11-15 22:35:43 +08:00
7fb7f4382d
We need ubuntu-20.04 for coverage analysis (clang after 10 doesn't seem to properly interact with gcov version used for codecov) and for releases (to produce binaries targeting earlier glibc). However, we still should be verifying that Luau builds on latest, because newer toolchains have stricter standard library headers and/or warnings; without this we're at risk of constantly regressing the build for packaging or external applications. Note that release.yml can probably just be deleted but for now we simply adjust it.
84 lines
2.5 KiB
YAML
84 lines
2.5 KiB
YAML
name: new-release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
required: true
|
|
description: Release version including 0.
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
create-release:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
steps:
|
|
- name: create release
|
|
id: create_release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.event.inputs.version }}
|
|
release_name: ${{ github.event.inputs.version }}
|
|
draft: true
|
|
|
|
build:
|
|
needs: ["create-release"]
|
|
strategy:
|
|
matrix: # using ubuntu-20.04 to build a Linux binary targeting older glibc to improve compatibility
|
|
os: [{name: ubuntu, version: ubuntu-20.04}, {name: macos, version: macos-latest}, {name: windows, version: windows-latest}]
|
|
name: ${{matrix.os.name}}
|
|
runs-on: ${{matrix.os.version}}
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- name: configure
|
|
run: cmake . -DCMAKE_BUILD_TYPE=Release
|
|
- name: build
|
|
run: cmake --build . --target Luau.Repl.CLI Luau.Analyze.CLI Luau.Compile.CLI --config Release -j 2
|
|
- name: pack
|
|
if: matrix.os.name != 'windows'
|
|
run: zip luau-${{matrix.os.name}}.zip luau*
|
|
- name: pack
|
|
if: matrix.os.name == 'windows'
|
|
run: 7z a luau-${{matrix.os.name}}.zip .\Release\luau*.exe
|
|
- uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create-release.outputs.upload_url }}
|
|
asset_path: luau-${{matrix.os.name}}.zip
|
|
asset_name: luau-${{matrix.os.name}}.zip
|
|
asset_content_type: application/octet-stream
|
|
|
|
web:
|
|
needs: ["create-release"]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
repository: emscripten-core/emsdk
|
|
path: emsdk
|
|
- name: emsdk install
|
|
run: |
|
|
cd emsdk
|
|
./emsdk install latest
|
|
./emsdk activate latest
|
|
- name: make
|
|
run: |
|
|
source emsdk/emsdk_env.sh
|
|
emcmake cmake . -DLUAU_BUILD_WEB=ON -DCMAKE_BUILD_TYPE=Release
|
|
make -j2 Luau.Web
|
|
- uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ needs.create-release.outputs.upload_url }}
|
|
asset_path: Luau.Web.js
|
|
asset_name: Luau.Web.js
|
|
asset_content_type: application/octet-stream
|