Skip to content

chore(deps): bump anyhow from 1.0.70 to 1.0.71 #307

chore(deps): bump anyhow from 1.0.70 to 1.0.71

chore(deps): bump anyhow from 1.0.70 to 1.0.71 #307

Workflow file for this run

name: exporter
on:
push:
branches:
- main
pull_request:
branches:
- '*'
env:
CARGO_TERM_COLOR: always
SQLX_VERSION: 0.6.3
SQLX_FEATURES: postgres,rustls
jobs:
fmt-lint-test:
name: format, lint and test
runs-on: ubuntu-latest
services:
postgres:
image: postgres:14
env:
POSTGRES_USER: ${{ secrets.CI_DATABASE_USERNAME || 'postgres' }}
POSTGRES_PASSWORD: ${{ secrets.CI_DATABASE_PASSWORD || github.sha }}
POSTGRES_DB: ${{ secrets.CI_DATABASE_NAME || 'test-db' }}
ports:
- 5432:5432
env:
POSTGRES_USER: ${{ secrets.CI_DATABASE_USERNAME || 'postgres' }}
POSTGRES_PASSWORD: ${{ secrets.CI_DATABASE_PASSWORD || github.sha }}
POSTGRES_DB: ${{ secrets.CI_DATABASE_NAME || 'test-db' }}
POSTGRES_HOST: localhost
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup .env
run: ./scripts/create_env.sh
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v3
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-exporter-${{ hashFiles('**/Cargo.lock') }}
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Check Format
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- uses: taiki-e/install-action@nextest
- name: Cache sqlx-cli
uses: actions/cache@v3
id: cache-sqlx
with:
path: |
~/.cargo/bin/sqlx
~/.cargo/bin/cargo-sqlx
key: ${{ runner.os }}-sqlx-${{ env.SQLX_VERSION }}
- name: Install sqlx-cli
uses: actions-rs/cargo@v1
if: steps.cache-sqlx.outputs.cache-hit == false
with:
command: install
args: |
sqlx-cli
--force
--version=${{ env.SQLX_VERSION }}
--features ${{ env.SQLX_FEATURES }}
--no-default-features
--locked
- name: Migrate database
run: |
sudo apt-get install libpq-dev -y
./scripts/init_db.sh
- name: Lint
uses: actions-rs/clippy-check@v1
if: github.actor != 'dependabot[bot]'
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: -- -D warnings
- name: Check sqlx offline query
if: github.actor != 'dependabot[bot]'
run: |
cd apps/exporter
cargo sqlx prepare --check -- --bin swu-exporter
- name: Run tests
run: |
cd apps/exporter
cargo nextest run
build-deploy:
name: build and deploy
runs-on: ubuntu-latest
needs:
- fmt-lint-test
environment: production
if: github.ref == 'refs/heads/main'
permissions:
contents: read
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Exporter Google Sheet Credentials
env:
EXPORTER_SHEETS_CREDENTIALS: ${{secrets.EXPORTER_SHEETS_CREDENTIALS}}
run: |
mkdir credentials
echo $EXPORTER_SHEETS_CREDENTIALS > credentials/exporter.json
- name: Login
id: auth
uses: google-github-actions/auth@v0
with:
token_format: access_token
workload_identity_provider: ${{ secrets.GCP_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GCP_DEPLOY_SERVICE_ACCOUNT }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v0
with:
install_components: beta
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker Image Metadata
id: meta
uses: docker/metadata-action@v4
with:
images: |
${{ secrets.CLOUD_RUN_EXPORTER_IMAGE }}
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=sha
- name: Login to GAR
uses: docker/login-action@v2
with:
registry: us-central1-docker.pkg.dev
username: oauth2accesstoken
password: ${{ steps.auth.outputs.access_token }}
- name: Build production image
uses: docker/build-push-action@v3
with:
context: .
provenance: false
file: apps/exporter/Dockerfile
target: runtime
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Update Cloud Run Job
run: |
gcloud beta run jobs update ${{ secrets.CLOUD_RUN_EXPORTER }} \
--project=${{ secrets.GCP_PROJECT_ID }} \
--image=${{ fromJSON(steps.meta.outputs.json).tags[1] }} \
--service-account=${{ secrets.CLOUD_RUN_SERVICE_ACCOUNT }} \
--parallelism=1 \
--set-cloudsql-instances=${{ secrets.CLOUD_SQL_DB }} \
--execution-environment=gen2 \
--region=us-central1 \
--set-env-vars=EXPORTER__DATABASE__REQUIRE_SSL=false \
--set-secrets=EXPORTER__DATABASE__SOCKET=APP__DATABASE__SOCKET:2 \
--set-secrets=EXPORTER__DATABASE__DATABASE_NAME=APP__DATABASE__DATABASE_NAME:1 \
--set-secrets=EXPORTER__DATABASE__PASSWORD=APP__DATABASE__PASSWORD:1 \
--set-secrets=EXPORTER__DATABASE__USERNAME=APP__DATABASE__USERNAME:1 \
--set-secrets=EXPORTER__SHEETS__SPREADSHEET_ID=EXPORTER__SHEETS__SPREADSHEET_ID:1