Ensure support for macos #84
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: ci | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
jobs: | |
test: | |
name: OTP ${{matrix.otp}} / rebar3 ${{matrix.rebar3}} / OS ${{matrix.os}} | |
strategy: | |
matrix: | |
os: ['ubuntu-22.04'] | |
otp: ['26.1', '25.3', '24.3'] | |
rebar3: ['3.22.1'] | |
include: | |
- otp: '26.1' | |
rebar3: '3.22.1' | |
os: 'windows-2022' | |
- otp: '26.1' | |
rebar3: '3.22.1' | |
os: 'macos-latest' | |
runs-on: ${{matrix.os}} | |
steps: | |
- uses: actions/checkout@v3 | |
# OS setups | |
- uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{matrix.otp}} | |
rebar3-version: ${{matrix.rebar3}} | |
if: ${{ matrix.os != 'macos-latest' }} | |
- name: Windows - Enable Developer Command Prompt | |
uses: ilammy/[email protected] | |
if: ${{ matrix.os == 'windows-2022' }} | |
- name: Windows - Install openssl | |
shell: pwsh | |
run: | | |
choco install openssl | |
echo "OPENSSL_INSTALL_DIR=""C:\Program Files\OpenSSL""" >> $env:GITHUB_ENV | |
if: ${{ matrix.os == 'windows-2022' }} | |
- name: Brew Version Check | |
run: | | |
brew --version | |
brew cleanup --prune=all -s | |
brew autoremove | |
brew untap homebrew/cask homebrew/core | |
brew update | |
brew upgrade | |
brew doctor | |
if: ${{ matrix.os == 'macos-latest' }} | |
- name: Install Erlang | |
run: brew install [email protected] | |
if: ${{ matrix.os == 'macos-latest' }} | |
# caches | |
- name: Restore _build | |
uses: actions/cache@v3 | |
with: | |
path: _build | |
key: _build-cache-for-os-${{matrix.os}}-otp-${{matrix.otp}}-rebar3-${{matrix.rebar3}}-hash-${{hashFiles('rebar.lock')}} | |
- name: Restore rebar3's cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/rebar3 | |
key: rebar3-cache-for-os-${{matrix.os}}-otp-${{matrix.otp}}-rebar3-${{matrix.rebar3}}-hash-${{hashFiles('rebar.lock')}} | |
# tests | |
- run: rebar3 as test get-deps | |
- run: rebar3 as test compile | |
- run: rebar3 as test ct | |
- run: rebar3 dialyzer | |
if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} | |
- name: Run coverage | |
if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} | |
run: | | |
rebar3 as test codecov analyze | |
gcov -o c_src fast_pbkdf2 | |
- name: Upload coverage | |
if: ${{ matrix.otp == '26.1' && matrix.os == 'ubuntu-22.04' }} | |
run: | | |
pip install --user codecov | |
/home/runner/.local/bin/codecov |