Skip to content

Commit

Permalink
buck2/github: simplify Windows and Mac setup
Browse files Browse the repository at this point in the history
Summary:
Current setup steps are copied from CirleCI, Github allows to do this easier and faster.

`setup_windows_env` **3m12s** -> **46s**: https://github.com/KapJI/buck2/actions/runs/11840491142/job/32994456976

* Use `dtolnay/rust-toolchain` on all platforms. It also configures Cargo a bit, e.g. enabled coloured output.
* `rustup` is already installed on Windows runners: https://github.com/actions/runner-images/blob/main/images/windows/Windows2022-Readme.md#rust-tools
* `actions/checkout` is performed on job level, these actions are duplicated.

Differential Revision: D66010956
  • Loading branch information
KapJI authored and facebook-github-bot committed Nov 15, 2024
1 parent d7c4e94 commit ca55500
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 30 deletions.
1 change: 0 additions & 1 deletion .github/actions/setup_linux_env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ runs:
- name: Install conan
run: sudo pip3 install conan==1.*
shell: bash
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '~1.22.0'
13 changes: 9 additions & 4 deletions .github/actions/setup_macos_env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,22 @@ description: Setup macOS environment
runs:
using: composite
steps:
- name: Install Rustup
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain=none
shell: bash
- uses: SebRollen/[email protected]
id: read_rust_toolchain
with:
file: rust-toolchain
field: toolchain.channel
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ steps.read_rust_toolchain.outputs.value }}
components: clippy
- name: Brew install
run: brew install cmake python3 coreutils opam llvm protobuf zstd
shell: bash
- name: Install conan
run: sudo pip3 install --break-system-packages conan==1.*
shell: bash
- uses: "./.github/actions/print_versions"
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '~1.22.0'
Expand Down
34 changes: 15 additions & 19 deletions .github/actions/setup_windows_env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,25 @@ description: Setup Windows environment for building and testing
runs:
using: composite
steps:
- name: Install Rustup
run: |-
choco install -y rustup.install
write-output "[net]`ngit-fetch-with-cli = true" | out-file -append -encoding utf8 $Env:USERPROFILE/.cargo/config.toml
type $Env:USERPROFILE/.cargo/config.toml
shell: pwsh
- name: Create python3 symlink
run: New-Item -ItemType SymbolicLink -Path C:\ProgramData\chocolatey\bin\python3.exe -Target $(Get-Command python).Source
shell: pwsh
- name: Write Powershell profile
- name: Write Visual Studio path
run: |-
$psProfileContent = @'
$vsPath = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Component.VC.Llvm.Clang -property installationPath
$llvmPath = Join-Path $vsPath "VC\Tools\Llvm\x64\bin"
$env:PATH = "$env:USERPROFILE\.cargo\bin;$llvmPath;" + $env:PATH
$env:TEMP = "$env:USERPROFILE\temp"
$env:TMP = $env:TEMP
'@
Add-Content "$PsHome\profile.ps1" $psProfileContent
New-Item -ItemType Directory -Path "$env:USERPROFILE\temp"
Join-Path $vsPath "VC\Tools\Llvm\x64\bin" | Out-File -FilePath $env:GITHUB_PATH -Append
shell: pwsh
- uses: "./.github/actions/print_versions"
- uses: actions/checkout@v4
- name: Create python3 symlink
run: |
New-Item -ItemType SymbolicLink -Path C:\ProgramData\chocolatey\bin\python3.exe -Target $(Get-Command python).Source
shell: pwsh
- uses: SebRollen/[email protected]
id: read_rust_toolchain
with:
file: rust-toolchain
field: toolchain.channel
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ steps.read_rust_toolchain.outputs.value }}
components: clippy
- uses: actions/setup-go@v5
with:
go-version: '~1.22.0'
6 changes: 0 additions & 6 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,5 @@ jobs:
& $Env:RUNNER_TEMP/artifacts/buck2 build //... -v 2
& $Env:RUNNER_TEMP/artifacts/buck2 test //... -v 2
- uses: ./.github/actions/build_example_no_prelude
- name: Configure CARGO_HOME
run: |-
echo CARGO_HOME=$GITHUB_WORKSPACE/.cargo >> $GITHUB_ENV
echo $GITHUB_WORKSPACE/.cargo/bin >> $GITHUB_PATH
shell:
bash
- uses: ./.github/actions/setup_reindeer
- uses: ./.github/actions/build_bootstrap

0 comments on commit ca55500

Please sign in to comment.