diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 489e4aaa..f2067cff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,15 +14,20 @@ jobs: runs-on: ubuntu-20.04 container: node:14.16-alpine steps: - - name: checkout + - name: Checkout uses: actions/checkout@v2 - - name: install dependencies + - name: Use Next.js cache + uses: actions/cache@v2.1.5 + with: + path: ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package.json') }} + - name: Install dependencies env: HUSKY_SKIP_INSTALL: 1 run: yarn - - name: lint + - name: Lint run: yarn lint - - name: build + - name: Build run: yarn build build_and_push: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62b2ecb1..fce29158 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,16 +11,22 @@ jobs: runs-on: ubuntu-20.04 container: node:14.16-alpine steps: - - name: checkout + - name: Checkout uses: actions/checkout@v2 - - name: install dependencies + - name: Use Next.js cache + uses: actions/cache@v2.1.5 + with: + path: ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package.json') }} + - name: Install dependencies env: HUSKY_SKIP_INSTALL: 1 run: yarn - - name: lint + - name: Lint run: yarn lint - - name: build + - name: Build run: yarn build + semantic-release: name: Tag and release latest version needs: test @@ -57,6 +63,7 @@ jobs: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: npx semantic-release + build-snap: name: Build Snap Package (${{ matrix.architecture }}) needs: semantic-release @@ -77,7 +84,6 @@ jobs: run: git checkout master - name: Pull latest changes run: git pull - - name: Prepare id: prepare run: | @@ -87,35 +93,31 @@ jobs: else echo ::set-output name=RELEASE::edge fi - - name: Set Up QEMU uses: docker/setup-qemu-action@v1 with: image: tonistiigi/binfmt@sha256:df15403e06a03c2f461c1f7938b171fda34a5849eb63a70e2a2109ed5a778bde - - name: Build Snap Package uses: diddlesnaps/snapcraft-multiarch-action@v1 id: build with: architecture: ${{ matrix.architecture }} - - name: Upload Snap Package uses: actions/upload-artifact@v2 with: name: overseerr-snap-package-${{ matrix.architecture }} path: ${{ steps.build.outputs.snap }} - - name: Review Snap Package uses: diddlesnaps/snapcraft-review-tools-action@v1.2.0 with: snap: ${{ steps.build.outputs.snap }} - - name: Publish Snap Package uses: snapcore/action-publish@v1 with: store_login: ${{ secrets.SNAP_LOGIN }} snap: ${{ steps.build.outputs.snap }} release: ${{ steps.prepare.outputs.RELEASE }} + discord: name: Send Discord Notification needs: semantic-release @@ -124,7 +126,6 @@ jobs: steps: - name: Get Build Job Status uses: technote-space/workflow-conclusion-action@v2.1.5 - - name: Combine Job Status id: status run: | @@ -134,7 +135,6 @@ jobs: else echo ::set-output name=status::$WORKFLOW_CONCLUSION fi - - name: Post Status to Discord uses: sarisia/actions-status-discord@v1 with: diff --git a/.github/workflows/snap.yaml b/.github/workflows/snap.yaml index ea7f92f9..dca8b27b 100644 --- a/.github/workflows/snap.yaml +++ b/.github/workflows/snap.yaml @@ -22,15 +22,20 @@ jobs: runs-on: ubuntu-20.04 container: node:14.16-alpine steps: - - name: checkout + - name: Checkout uses: actions/checkout@v2 - - name: install dependencies + - name: Cache Next.js build + uses: actions/cache@v2.1.5 + with: + path: ${{ github.workspace }}/.next/cache + key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package.json') }} + - name: Install dependencies env: HUSKY_SKIP_INSTALL: 1 run: yarn - - name: lint + - name: Lint run: yarn lint - - name: build + - name: Build run: yarn build build-snap: