Install just via curl instead of extractions/setup-just #778
Workflow file for this run
This file contains hidden or 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: 'CI' | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: ~ | |
| workflow_dispatch: ~ | |
| jobs: | |
| run-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rubyversion: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', '4.0'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install just | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| install_dir="${RUNNER_TEMP:-/tmp}/just-bin" | |
| mkdir -p "$install_dir" | |
| # Resolve the latest release tag via the github.com redirect to avoid | |
| # api.github.com rate limits on shared runner egress IPs. | |
| latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest) | |
| just_version="${latest_url##*/tag/}" | |
| case "$RUNNER_OS" in | |
| Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;; | |
| macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;; | |
| *) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;; | |
| esac | |
| curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset" | |
| case "$asset" in | |
| *.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;; | |
| *) tar -xzf "$install_dir/$asset" -C "$install_dir" ;; | |
| esac | |
| echo "$install_dir" >> "$GITHUB_PATH" | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: ${{ matrix.rubyversion }} | |
| rubygems: '3.4.0' | |
| bundler-cache: true | |
| - name: Install Dependencies | |
| run: just install | |
| - name: run tests | |
| run: EASYPOST_TEST_API_KEY=123 EASYPOST_PROD_API_KEY=123 just test | |
| - name: Coverage | |
| if: github.ref == 'refs/heads/master' | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install just | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| install_dir="${RUNNER_TEMP:-/tmp}/just-bin" | |
| mkdir -p "$install_dir" | |
| # Resolve the latest release tag via the github.com redirect to avoid | |
| # api.github.com rate limits on shared runner egress IPs. | |
| latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest) | |
| just_version="${latest_url##*/tag/}" | |
| case "$RUNNER_OS" in | |
| Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;; | |
| macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;; | |
| *) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;; | |
| esac | |
| curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset" | |
| case "$asset" in | |
| *.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;; | |
| *) tar -xzf "$install_dir/$asset" -C "$install_dir" ;; | |
| esac | |
| echo "$install_dir" >> "$GITHUB_PATH" | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.4' | |
| rubygems: '3.3.0' | |
| bundler-cache: true | |
| - name: Install Dependencies | |
| run: just install | |
| - name: Install style guides | |
| run: just install-styleguide | |
| - name: Lint Project | |
| run: just lint | |
| docs: | |
| if: github.ref == 'refs/heads/master' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install just | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| install_dir="${RUNNER_TEMP:-/tmp}/just-bin" | |
| mkdir -p "$install_dir" | |
| # Resolve the latest release tag via the github.com redirect to avoid | |
| # api.github.com rate limits on shared runner egress IPs. | |
| latest_url=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/casey/just/releases/latest) | |
| just_version="${latest_url##*/tag/}" | |
| case "$RUNNER_OS" in | |
| Windows) asset="just-${just_version}-x86_64-pc-windows-msvc.zip" ;; | |
| macOS) asset="just-${just_version}-x86_64-apple-darwin.tar.gz" ;; | |
| *) asset="just-${just_version}-x86_64-unknown-linux-musl.tar.gz" ;; | |
| esac | |
| curl -fL "https://github.com/casey/just/releases/download/${just_version}/${asset}" -o "$install_dir/$asset" | |
| case "$asset" in | |
| *.zip) unzip -o "$install_dir/$asset" -d "$install_dir" ;; | |
| *) tar -xzf "$install_dir/$asset" -C "$install_dir" ;; | |
| esac | |
| echo "$install_dir" >> "$GITHUB_PATH" | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: '3.4' | |
| rubygems: '3.3.0' | |
| bundler-cache: true | |
| - name: Install Dependencies | |
| run: just install | |
| - name: Generate Docs | |
| run: just docs | |
| - name: Deploy docs | |
| uses: peaceiris/actions-gh-pages@v3 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_dir: docs |