Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

Merge pull request #223 from MichalLauer/dev #34

Merge pull request #223 from MichalLauer/dev

Merge pull request #223 from MichalLauer/dev #34

Workflow file for this run

on:
push:
branches: main
name: Deploy-app
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
- {os: macos-latest, r: '4.3.0'}
- {os: windows-latest, r: '4.3.0'}
- {os: ubuntu-latest, r: '4.3.0'}
env:
R_KEEP_PKG_SOURCE: yes
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup pandoc
uses: r-lib/actions/setup-pandoc@v2
- name: setup R
uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
use-public-rspm: true
- name: Setup dependencies
uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck
needs: check
- name: Check package
uses: r-lib/actions/check-r-package@v2
with:
upload-results: true
Deploy:
runs-on: ubuntu-latest
needs: R-CMD-check
env:
IMAGE_NAME: europe-west3-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}/${{ secrets.GCP_APP_NAME }}
GCP_CREDENTIALS: ${{ secrets.GCP_CREDENTIALS }}
GCP_APP_NAME: ${{ secrets.GCP_APP_NAME }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup GSA
run: |
echo $DEV_ENV_FILE >> ./gsa.json
env:
DEV_ENV_FILE : ${{ secrets.GCP_CREDENTIALS }}
- name: Download package
uses: actions/download-artifact@v3
with:
name: "Linux-r4.3.0-results"
- name: Authenticate Cloud SDK
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ env.GCP_CREDENTIALS }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Docker auth
run: gcloud auth configure-docker europe-west3-docker.pkg.dev
- name: Configure Docker
run: gcloud auth configure-docker --quiet
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ${{ env.IMAGE_NAME }}
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Deploy Docker image
run: |
gcloud run deploy ${{ env.GCP_APP_NAME }} \
--image ${{ env.IMAGE_NAME }} \
--region europe-west3 \
--platform managed \
--port=80 \
--allow-unauthenticated