name: Build & Deploy run-name: Build & Deploy on: [push] jobs: build: env: GATSBY_FIREBASE_API_KEY: ${{ secrets.GATSBY_FIREBASE_API_KEY }} GATSBY_AUTH_DOMAIN: "spencassemble-sol-journal.firebaseapp.com" GATSBY_DATABASE_URL: "https://spencassemble-sol-journal.firebaseio.com" GATSBY_PROJECT_ID: "spencassemble-sol-journal" GATSBY_STORAGE_BUCKET: "spencassemble-sol-journal.appspot.com" GATSBY_MESSAGING_SENDER_ID: "299522647169" GATSBY_APP_ID: "1:299522647169:web:fc74af44747fd7cef79980" runs-on: docker container: image: node:latest steps: - name: Check out repository code uses: actions/checkout@v4 - run: npm ci - run: npm run build - name: build artifacts uses: actions/upload-artifact@v3 with: name: dist path: | public deploy: runs-on: docker container: image: docker:20.10.22 environment: name: sol-journal url: http://sol-journal.spencassemble.com/ steps: - run: apk --update add nodejs - name: Download artifacts uses: actions/download-artifact@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERUSER }} password: ${{ secrets.DOCKERPASS }} - name: Build and push uses: docker/build-push-action@v5 with: push: true tags: spencerpincott/sol-journal:latest - run: docker stop sol-journal - run: docker rm sol-journal - run: docker run -dit -p 5000:80 --name sol-journal --restart=always spencerpincott/sol-journal:latest