diff --git a/.github/workflows/make-binary.yml b/.github/workflows/make-binary.yml index 732b3940..0402650f 100644 --- a/.github/workflows/make-binary.yml +++ b/.github/workflows/make-binary.yml @@ -11,7 +11,7 @@ jobs: make-binary: strategy: matrix: - os: [ubuntu-20.04, macos-12] + os: [ubuntu-20.04, macos-13] fail-fast: false runs-on: ${{ matrix.os }} steps: @@ -21,10 +21,10 @@ jobs: sudo apt update sudo apt install -y build-essential squashfs-tools curl gcc make bison - name: 'Install MacOs dependencies' - if: matrix.os == 'macos-12' + if: matrix.os == 'macos-13' run: | brew install squashfs - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: 'Set up Ruby' uses: ruby/setup-ruby@v1 with: @@ -34,9 +34,9 @@ jobs: run: | wget https://github.com/pmq20/ruby-packer/releases/download/linux-x64/rubyc chmod +x ./rubyc - ./rubyc --openssl-dir=/etc/ssl ./uffizzi --output=${{ inputs.linux-bin-path }} + BUNDLE_WITHOUT=development:test ./rubyc --openssl-dir=/etc/ssl ./uffizzi --output=${{ inputs.linux-bin-path }} - name: 'Create Darwin Bin' - if: matrix.os == 'macos-12' + if: matrix.os == 'macos-13' run: | export PATH="$(brew --prefix)/opt/openssl@1.1/bin:$PATH" export LDFLAGS="-L$(brew --prefix)/opt/openssl@1.1/lib" @@ -55,7 +55,7 @@ jobs: path: ${{ inputs.linux-bin-path }} - name: Upload Artifacts uses: actions/upload-artifact@v4 - if: matrix.os == 'macos-12' + if: matrix.os == 'macos-13' with: name: ${{ inputs.darwin-bin-path }} path: ${{ inputs.darwin-bin-path }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6c993ff9..97c528da 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,8 +25,63 @@ jobs: - code-quality uses: ./.github/workflows/docker-image-release.yml secrets: inherit + make-binary: + needs: + - code-quality + strategy: + matrix: + os: [ubuntu-20.04, macos-12] + fail-fast: false + runs-on: ${{ matrix.os }} + steps: + - name: 'Install Linux dependencies' + if: matrix.os == 'ubuntu-20.04' + run: | + sudo apt update + sudo apt install -y build-essential squashfs-tools curl gcc make bison + - name: 'Install MacOs dependencies' + if: matrix.os == 'macos-12' + run: | + brew install squashfs + - uses: actions/checkout@v2 + - name: 'Set up Ruby' + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0.3' + - name: 'Create Linux Bin' + if: matrix.os == 'ubuntu-20.04' + run: | + wget https://github.com/pmq20/ruby-packer/releases/download/linux-x64/rubyc + chmod +x ./rubyc + ./rubyc --openssl-dir=/etc/ssl ./uffizzi --output=${{ env.LINUX_BIN_PATH }} + - name: 'Create Darwin Bin' + if: matrix.os == 'macos-12' + run: | + export PATH="$(brew --prefix)/opt/openssl@1.1/bin:$PATH" + export LDFLAGS="-L$(brew --prefix)/opt/openssl@1.1/lib" + export CPPFLAGS="-I$(brew --prefix)/opt/openssl@1.1/include" + export PKG_CONFIG_PATH="$(brew --prefix)/opt/openssl@1.1/lib/pkgconfig" + export SSL_CERT_FILE=$(ruby -e "require 'openssl'; puts OpenSSL::X509::DEFAULT_CERT_FILE") + + wget https://github.com/pmq20/ruby-packer/releases/download/darwin-x64/rubyc + chmod +x ./rubyc + ./rubyc --openssl-dir=/etc/ssl ./uffizzi --output=${{ env.DARWIN_BIN_PATH }} + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + if: matrix.os == 'ubuntu-20.04' + with: + name: ${{ env.LINUX_BIN_PATH }} + path: ${{ env.LINUX_BIN_PATH }} + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + if: matrix.os == 'macos-12' + with: + name: ${{ env.DARWIN_BIN_PATH }} + path: ${{ env.DARWIN_BIN_PATH }} create_release: runs-on: ubuntu-latest + needs: + - make-binary steps: - name: Generate release notes uses: softprops/action-gh-release@v2 diff --git a/Dockerfile b/Dockerfile index d5f4c002..31cff39f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,8 @@ FROM ruby:3.0.3-alpine AS shell RUN apk --update add --no-cache \ bash \ - vim + vim \ + curl WORKDIR /root/ diff --git a/Gemfile.lock b/Gemfile.lock index 6a4f2a98..5840132c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,9 +4,10 @@ PATH uffizzi-cli (2.4.16) activesupport awesome_print - faker + faker (< 3.0) launchy minitar + open3 securerandom sentry-ruby thor @@ -32,17 +33,17 @@ GEM childprocess (5.1.0) logger (~> 1.5) coderay (1.1.3) - concurrent-ruby (1.1.9) + concurrent-ruby (1.3.5) crack (0.4.5) rexml deepsort (0.4.5) factory_bot (6.2.0) activesupport (>= 5.0.0) fakefs (1.8.0) - faker (3.5.1) + faker (2.23.0) i18n (>= 1.8.11, < 2) hashdiff (1.0.1) - i18n (1.8.11) + i18n (1.14.7) concurrent-ruby (~> 1.0) kramdown (2.3.1) rexml @@ -149,7 +150,6 @@ DEPENDENCIES minitest minitest-power_assert mocha - open3 pry-byebug pry-inline rake diff --git a/uffizzi.gemspec b/uffizzi.gemspec index 425ffaf6..6acd6f39 100644 --- a/uffizzi.gemspec +++ b/uffizzi.gemspec @@ -28,9 +28,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'activesupport' spec.add_dependency 'awesome_print' - spec.add_dependency 'faker' + spec.add_dependency 'faker', '< 3.0' spec.add_dependency 'launchy' spec.add_dependency 'minitar' + spec.add_dependency 'open3' spec.add_dependency 'securerandom' spec.add_dependency 'sentry-ruby' spec.add_dependency 'thor' @@ -46,7 +47,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest' spec.add_development_dependency 'minitest-power_assert' spec.add_development_dependency 'mocha' - spec.add_development_dependency 'open3' spec.add_development_dependency 'pry-byebug' spec.add_development_dependency 'pry-inline' spec.add_development_dependency 'rake'