chore(deps): bump waitress from 2.1.2 to 3.0.1 in /api (#131) #253
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI for releases | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
js-install-and-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [v18.16.1] | |
steps: | |
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # 3.0.2 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install Dependencies, Test, and Build | |
run: | | |
cd frontend | |
yarn install --frozen-lockfile --check-files | |
yarn lint | |
GENERATE_SOURCEMAP=false yarn build | |
ls -R | |
env: | |
GENERATE_SOURCEMAP: false | |
CI: true | |
- name: Upload ReactJS Build | |
# yamllint disable-line rule:line-length | |
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # 3.1.0 | |
with: | |
name: build | |
path: frontend/build/ | |
python-install-and-test: | |
runs-on: ubuntu-22.04 | |
env: | |
PYTHON_VERSION: "3.11" | |
steps: | |
- name: Check out the codebase | |
# yamllint disable-line rule:line-length | |
uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791 # v3 2.5.0 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Set up Python ${{ env.PYTHON_VERSION }} | |
# yamllint disable-line rule:line-length | |
uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 # 4.3.1 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
cache: 'pip' # caching pip dependencies | |
- name: Cache pip | |
uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # 3.0.11 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('./requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install dependencies | |
run: | | |
cd api | |
python -m pip install --upgrade pip | |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
build-and-push-docker-image: | |
needs: [js-install-and-test, python-install-and-test] | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # 3.0.2 | |
- | |
name: Show structure | |
run: | | |
ls -R | |
- | |
name: Make a dir for ReactJS artifacts | |
run: | | |
cd frontend | |
mkdir build | |
cd .. | |
- | |
name: Download ReactJS artifacts from JS Build | |
# yamllint disable-line rule:line-length | |
uses: actions/download-artifact@fb598a63ae348fa914e94cd0ff38f362e927b741 # 3 .0.0 | |
with: | |
name: build | |
path: frontend/build | |
- | |
name: Show structure of downloaded files | |
run: | | |
ls -R | |
- | |
name: Set up QEMU | |
# yamllint disable-line rule:line-length | |
uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # 2.0.0 | |
- | |
name: Set up Docker Buildx | |
# yamllint disable-line rule:line-length | |
uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # 2.0.0 | |
- | |
name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- | |
name: Login to GitHub Container Registry | |
# yamllint disable-line rule:line-length | |
uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # 2.0.0 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.PAT }} | |
- | |
name: Build and push | |
# yamllint disable-line rule:line-length | |
uses: docker/build-push-action@c84f38281176d4c9cdb1626ffafcd6b3911b5d94 # 3.1.1 | |
with: | |
context: . | |
file: ./Dockerfile | |
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/386 | |
push: true | |
tags: | | |
timothystewart6/techno-broadlink:latest | |
ghcr.io/techno-tim/techno-broadlink:latest |