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