Skip to content

Rework homework page for teacher and parents (#1644) #54

Rework homework page for teacher and parents (#1644)

Rework homework page for teacher and parents (#1644) #54

Workflow file for this run

# Copyright (c) 2022 Sharezone UG (haftungsbeschränkt)
# Licensed under the EUPL-1.2-or-later.
#
# You may obtain a copy of the Licence at:
# https://joinup.ec.europa.eu/software/page/eupl
#
# SPDX-License-Identifier: EUPL-1.2
name: console-cd
concurrency:
# Avoids running multiple deployments at the same time which would cause
# conflicts.
group: console-release
on:
push:
branches:
- main
paths:
# We only build and deploy a new version, when a user relevant files
# changed.
- "console/**"
- "lib/**"
# We trigger also this workflow, if this workflow is changed, so that new
# changes will be applied.
- ".github/workflows/console_cd.yml"
# The following paths are excluded from the above paths. It's important to
# list the paths at the end of the file, so that the exclude paths are
# applied.
#
# See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-and-excluding-paths.
- "!**/*.md"
- "!**/*.mdx"
- "!**/*.gitignore"
# Test files are not relevant for the console deployment.
- "!**/test/**"
- "!**/test_goldens/**"
- "!**/test_driver/**"
- "!**/integration_test/**"
- "!**/analysis_options.yaml"
- "!**/dart_test.yaml"
# Allows you to run this workflow manually from the Actions tab.
#
# Since the console depends on the /lib folder, it could be that the console
# requires a new deployment. In this case, the developer needs to trigger the
# deployment manually or wait until the next change "console/**" is pushed. We
# do this to avoid unnecessary deployments since a new deployment invalidates
# the cache.
workflow_dispatch:
# Set permissions to none.
#
# Using the broad default permissions is considered a bad security practice
# and would cause alerts from our scanning tools.
permissions: {}
env:
CI_CD_DART_SCRIPTS_PACKAGE_PATH: "tools/sz_repo_cli/"
jobs:
deploy:
runs-on: ubuntu-22.04
name: console-deploy-${{ matrix.environment.flavor }}
permissions:
checks: write # for FirebaseExtended/action-hosting-deploy
strategy:
matrix:
environment:
- flavor: dev
projectId: sharezone-debug
serviceAccountSecret: FIREBASE_SERVICE_ACCOUNT_SHAREZONE_DEBUG
- flavor: prod
projectId: sharezone-c2bd8
serviceAccountSecret: FIREBASE_HOSTING_PROD_KEY
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
- name: Set Flutter version from FVM config file to environment variables
id: fvm-config-action
uses: kuhnroyal/flutter-fvm-config-action@34c3905bc939a4ff9d9cb07d5a977493fa73b2aa
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1
with:
flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }}
channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }}
- name: Install Sharezone CLI
run: |
flutter pub global activate --source path "$CI_CD_DART_SCRIPTS_PACKAGE_PATH"
echo $(pwd)/bin >> $GITHUB_PATH
- name: Install Firebase CLI
run: npm i -g [email protected]
- name: Build and deploy console
env:
FIREBASE_HOSTING_KEY: ${{ secrets[matrix.environment.serviceAccountSecret] }}
run: |
echo $FIREBASE_HOSTING_KEY > firebase-hosting-key.json
export GOOGLE_APPLICATION_CREDENTIALS=$(pwd)/firebase-hosting-key.json
sz deploy console \
--message "Workflow $GITHUB_JOB, commit $GITHUB_SHA" \
--flavor ${{ matrix.environment.flavor }}