From 946a44427efed330172f8100add251d9291a96d8 Mon Sep 17 00:00:00 2001 From: bajankristof Date: Sat, 27 Apr 2024 00:10:52 +0200 Subject: [PATCH] ci: add GitHub workflows to validate PRs and pushes to main --- .github/workflows/ci.lint.yml | 25 ++++++++++++++++++++++ .github/workflows/ci.test.yml | 39 +++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 .github/workflows/ci.lint.yml create mode 100644 .github/workflows/ci.test.yml diff --git a/.github/workflows/ci.lint.yml b/.github/workflows/ci.lint.yml new file mode 100644 index 0000000..efd3ab4 --- /dev/null +++ b/.github/workflows/ci.lint.yml @@ -0,0 +1,25 @@ +name: Lint + +on: + push: + branches: [ 'main' ] + pull_request: + branches: [ 'main' ] + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + bundler-cache: true + + - name: Run RuboCop + run: bundle exec rubocop diff --git a/.github/workflows/ci.test.yml b/.github/workflows/ci.test.yml new file mode 100644 index 0000000..1aa6957 --- /dev/null +++ b/.github/workflows/ci.test.yml @@ -0,0 +1,39 @@ +name: Test + +on: + push: + branches: [ 'main' ] + pull_request: + branches: [ 'main' ] + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ['2.6', '2.7', '3.0'] + ffmpeg-version: ['6.0.1', '5.1.1', '4.4.1', '3.4.2'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Install FFMPEG + run: | + sudo apt-get update + sudo apt-get install -y wget + wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static.tar.xz + tar -xf ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static.tar.xz + sudo mv ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static/ffmpeg /usr/local/bin/ffmpeg + sudo mv ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static/ffprobe /usr/local/bin/ffprobe + rm -rf ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static.tar.xz ffmpeg-${{ matrix.ffmpeg-version }}-amd64-static + + - name: Run RSpec + run: bundle exec rspec