name: CI for releases on: push: branches: - master jobs: js-install-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # 3.0.2 - name: Use Node.js uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93 with: node-version: v18.16.0 - name: Install Dependencies, Test, and Build run: | yarn install --frozen-lockfile --check-files --network-timeout 600000 yarn ci env: CI: true build-and-push-docker-image: needs: [js-install-and-test] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # 3.0.2 - name: Set up QEMU uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # 2.0.0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # 2.0.0 - name: Login to GitHub Container Registry uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # 2.0.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.PAT }} - name: Login to DockerHub uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # 2.0.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@c84f38281176d4c9cdb1626ffafcd6b3911b5d94 # 3.1.1 with: context: . file: ./Dockerfile platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 push: true tags: | ghcr.io/techno-tim/littlelink-server:latest timothystewart6/littlelink-server