Drop abseil-cpp build workarounds on Windows #68
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: precompiled | |
concurrency: | |
group: "${{github.workflow}}-${{github.ref}}" | |
cancel-in-progress: true | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 8 * * 3" # At 08:00 on Wednesday # https://crontab.guru/#0_8_*_*_3 | |
push: | |
branches: | |
- main | |
- v*.*.x | |
tags: | |
- v*.*.* | |
pull_request: | |
types: [opened, synchronize] | |
branches: | |
- '*' | |
jobs: | |
precompiled: | |
strategy: | |
fail-fast: false | |
matrix: | |
runs-on: ["ubuntu-latest", "macos-latest"] | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
include: | |
- ruby: "2.7" | |
runs-on: "windows-2019" | |
- ruby: "3.0" | |
runs-on: "windows-2019" | |
- ruby: "3.1" | |
runs-on: "windows-2022" | |
- ruby: "3.2" | |
runs-on: "windows-2022" | |
runs-on: ${{matrix.runs-on}} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{matrix.ruby}} | |
bundler-cache: true | |
- uses: actions/cache@v3 | |
with: | |
path: ports | |
key: ports-${{matrix.runs-on}}-${{hashFiles('ext/re2/extconf.rb')}} | |
- run: bundle exec rake compile spec | |
cruby-package: | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: ports/archives | |
key: archives-ubuntu-${{hashFiles('ext/re2/extconf.rb')}} | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.2" | |
bundler-cache: true | |
- run: ./scripts/test-gem-build gems ruby | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: cruby-gem | |
path: gems | |
retention-days: 7 | |
cruby-linux-install: | |
needs: ["cruby-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
cruby-osx-install: | |
needs: ["cruby-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["3.2"] | |
sys: ["enable", "disable"] | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
cruby-windows-install: | |
needs: ["cruby-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0"] | |
sys: ["enable", "disable"] | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
shell: bash | |
cruby-windows-install-ucrt: | |
needs: ["cruby-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["3.1", "3.2"] | |
sys: ["enable", "disable"] | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
shell: bash | |
cruby-native-package: | |
needs: ["rcd_image_version"] | |
strategy: | |
fail-fast: false | |
matrix: | |
plat: | |
- "aarch64-linux" | |
- "arm-linux" | |
- "arm64-darwin" # github actions does not support this runtime as of 2022-12, but let's build anyway | |
- "x64-mingw-ucrt" | |
- "x64-mingw32" | |
- "x86-linux" | |
- "x86-mingw32" # github actions does not support this runtime as of 2022-12, but let's build anyway | |
- "x86_64-darwin" | |
- "x86_64-linux" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache@v3 | |
with: | |
path: ports/archives | |
key: archives-ubuntu-${{hashFiles('ext/re2/extconf.rb')}} | |
- env: | |
DOCKER_IMAGE: "ghcr.io/rake-compiler/rake-compiler-dock-image:${{needs.rcd_image_version.outputs.rcd_image_version}}-mri-${{matrix.plat}}" | |
run: | | |
docker run --rm -v "$(pwd):/re2" -w /re2 \ | |
${DOCKER_IMAGE} \ | |
./scripts/test-gem-build gems ${{matrix.plat}} | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: "cruby-${{matrix.plat}}-gem" | |
path: gems | |
retention-days: 7 | |
cruby-x86_64-linux-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x86_64-linux-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
cruby-x86-linux-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x86-linux-gem | |
path: gems | |
- run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
docker run --rm -v "$(pwd):/re2" -w /re2 \ | |
--platform=linux/386 \ | |
ruby:${{matrix.ruby}} \ | |
./scripts/test-gem-install ./gems | |
cruby-aarch64-linux-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-aarch64-linux-gem | |
path: gems | |
- run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
docker run --rm -v "$(pwd):/re2" -w /re2 \ | |
--platform=linux/arm64/v8 \ | |
ruby:${{matrix.ruby}} \ | |
./scripts/test-gem-install ./gems | |
cruby-arm-linux-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-arm-linux-gem | |
path: gems | |
- run: | | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
docker run --rm -v "$(pwd):/re2" -w /re2 \ | |
--platform=linux/arm/v7 \ | |
ruby:${{matrix.ruby}} \ | |
./scripts/test-gem-install ./gems | |
cruby-x86_64-musl-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: ubuntu-latest | |
container: | |
image: "ruby:${{matrix.ruby}}-alpine" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x86_64-linux-gem | |
path: gems | |
- run: apk add bash libstdc++ gcompat | |
- run: ./scripts/test-gem-install gems | |
cruby-x86_64-darwin-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0", "3.1", "3.2"] | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x86_64-darwin-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
## arm64-darwin installation testing is omitted until github actions supports it | |
# cruby-arm64-darwin-install: | |
# ... | |
cruby-x64-mingw32-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["2.7", "3.0"] | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x64-mingw32-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
shell: bash | |
cruby-x64-mingw-ucrt-install: | |
needs: ["cruby-native-package"] | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ["3.1", "3.2"] | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: MSP-Greg/setup-ruby-pkgs@v1 | |
with: | |
ruby-version: "${{matrix.ruby}}" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: cruby-x64-mingw-ucrt-gem | |
path: gems | |
- run: ./scripts/test-gem-install gems | |
shell: bash | |
# | |
# SECTION the end-to-end gem installation tests | |
# | |
rcd_image_version: | |
runs-on: ubuntu-latest | |
outputs: | |
rcd_image_version: ${{steps.rcd_image_version.outputs.rcd_image_version}} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.2" | |
bundler-cache: true | |
bundler: latest | |
- id: rcd_image_version | |
run: bundle exec ruby -e 'require "rake_compiler_dock"; puts "rcd_image_version=#{RakeCompilerDock::IMAGE_VERSION}"' >> $GITHUB_OUTPUT |