Skip to content

Fix version

Fix version #282

Workflow file for this run

name: Release
on:
push:
branches:
- 'main'
env:
BUILDER_VERSION: v0.8.19
BUILDER_SOURCE: releases
BUILDER_HOST: https://d19elf31gohf1l.cloudfront.net
PACKAGE_NAME: aws-crt-ruby
LINUX_BASE_IMAGE: ubuntu-16-x64
RUN: ${{ github.run_id }}-${{ github.run_number }}
GEM: true
jobs:
linux:
strategy:
fail-fast: false
matrix:
os: [linux]
ruby: [ruby]
arch:
- x64
- aarch64
runs-on: ubuntu-latest
steps:
- name: Checkout Sources
uses: actions/checkout@v1
# Only aarch64 needs this, but it doesn't hurt anything
- name: Install qemu/docker
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u $GITHUB_ACTOR --password-stdin
- run: docker pull docker.pkg.github.com/$GITHUB_REPOSITORY/build-cache-no-buildkit || true
- run: docker build docker-images/manylinux2014-${{ matrix.arch }}-ruby -t local-${{ matrix.arch }} --cache-from=docker.pkg.github.com/$GITHUB_REPOSITORY/build-cache-no-buildkit
- run: docker tag local-${{ matrix.arch }} docker.pkg.github.com/$GITHUB_REPOSITORY/build-cache-no-buildkit && docker push docker.pkg.github.com/$GITHUB_REPOSITORY/build-cache-no-buildkit || true
- name: Generate Gem artifacts
run: |
docker run --env GITHUB_REF --env GEM=true local-${{ matrix.arch }} --version=${{env.BUILDER_VERSION}} build -p ${{ env.PACKAGE_NAME }} downstream
docker cp `docker ps -alq`:/root/aws-crt-ruby/gems/aws-crt .
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: out_${{ matrix.os }}_${{ matrix.arch }}
path: |
aws-crt/bin/
aws-crt/pkg/
windows:
strategy:
fail-fast: false
matrix:
os: [windows]
arch: [x64]
runs-on: windows-2022 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- name: Generate Gem artifacts
run: |
python -c "from urllib.request import urlretrieve; import ssl; ssl._create_default_https_context = ssl._create_unverified_context; urlretrieve('${{ env.BUILDER_HOST }}/releases/${{ env.BUILDER_VERSION }}/builder.pyz?run=${{ env.RUN }}', 'builder.pyz')"
python builder.pyz build -p ${{ env.PACKAGE_NAME }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: out_${{ matrix.os }}_${{ matrix.arch }}
path: |
aws-crt-ruby/gems/aws-crt/bin/
aws-crt-ruby/gems/aws-crt/pkg/
osx:
strategy:
fail-fast: false
matrix:
os: [macos]
ruby: [ruby]
arch: [x86_64, arm64]
runs-on: macos-14 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Generate Gem artifacts
run: |
bundle install
bundle exec rake "gem:aws-crt:platform[${{ matrix.arch }}]"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: out_${{ matrix.os }}_${{ matrix.arch }}
path: |
gems/aws-crt/bin/
gems/aws-crt/pkg/
package:
needs: [windows, osx, linux]
runs-on: macos-14 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Download Windows
uses: actions/download-artifact@v4
with:
name: out_windows_x64
- name: Download OSX x64
uses: actions/download-artifact@v4
with:
name: out_macos_x86_64
- name: Download OSX arm64
uses: actions/download-artifact@v4
with:
name: out_macos_arm64
- name: Download Linux x64
uses: actions/download-artifact@v4
with:
name: out_linux_x64
- name: Download Linux ARM 64
uses: actions/download-artifact@v4
with:
name: out_linux_aarch64
- name: Package
run: |
bundle install
bundle exec rake package-all
- name: Upload release
uses: actions/upload-artifact@v4
with:
name: release_gems
path: pkg/
verify-mac-native:
needs: [package]
runs-on: macos-14 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: actions/checkout@v2
- name: Download Release Artifacts
uses: actions/download-artifact@v4
with:
name: release_gems
- name: Install Gems and Require
run: |
bundle install
bundle exec rake verify-release:native
verify-mac-jruby:
needs: [package]
runs-on: macos-14 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: jruby
- uses: actions/checkout@v2
- name: Download Release Artifacts
uses: actions/download-artifact@v4
with:
name: release_gems
- name: Install Gems and Require
run: |
bundle install
bundle exec rake verify-release:jruby
verify-mac-pure-ruby:
needs: [package]
runs-on: macos-14 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: actions/checkout@v2
- name: Download Release Artifacts
uses: actions/download-artifact@v4
with:
name: release_gems
- name: Install Gems and Require
run: |
bundle install
bundle exec rake verify-release:pure-ruby
verify-windows-native:
needs: [package]
runs-on: windows-2022 # latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: actions/checkout@v2
- name: Download Release Artifacts
uses: actions/download-artifact@v4
with:
name: release_gems
- name: Install Gems and Require
run: |
ruby -v
bundle install
bundle exec rake verify-release:native
verify-linux-native:
needs: [package]
runs-on: ubuntu-latest
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- uses: actions/checkout@v2
- name: Download Release Artifacts
uses: actions/download-artifact@v4
with:
name: release_gems
- name: Install Gems and Require
run: |
bundle install
bundle exec rake verify-release:native