diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9caa96e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,50 @@ +name: CI + +on: + push: + pull_request: + release: + types: + - published + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - elixir: 1.11 + otp: 23.0 + deploy: true + - elixir: 1.11 + otp: 23.0 + html_parser: meeseeks + - elixir: 1.6 + otp: 20.0 + name: OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}} / ${{matrix.html_parser}} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-elixir@v1 + with: + otp-version: ${{matrix.otp}} + elixir-version: ${{matrix.elixir}} + - run: mix deps.get + - run: mix test + env: + HTML_PARSER: ${{ matrix.html_parser }} + - run: MIX_ENV=test mix credo --ignore Credo.Check.Design.TagTODO + deploy: + needs: test + runs-on: ubuntu-latest + if: github.event_name == 'release' && github.event.action == 'published' + name: Deploy published release + env: + HEX_API_KEY: ${{secrets.HEX_API_KEY}} + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-elixir@v1 + with: + otp-version: 23.0 + elixir-version: 1.11 + - run: mix deps.get + - run: mix hex.publish --yes \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index baa49ea..0000000 --- a/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: elixir -elixir: 1.11 -otp_release: 21.0 -before_script: - - curl https://sh.rustup.rs | sh -s -- -y - - export PATH=$HOME/.cargo/bin:$PATH -jobs: - include: - - stage: test - elixir: 1.6 - otp_release: 20.0 - script: &test_scripts - - source $HOME/.cargo/env - - mix test - - MIX_ENV=test mix credo - - stage: test - script: *test_scripts - env: - - HTML_PARSER=meeseeks - - stage: test - script: *test_scripts - after_script: - - mix format mix.exs "lib/**/*.{ex,exs}" "test/**/*.{ex,exs}" --check-formatted \ No newline at end of file