Skip to content

Bump the eslint group across 1 directory with 2 updates #2055

Bump the eslint group across 1 directory with 2 updates

Bump the eslint group across 1 directory with 2 updates #2055

Workflow file for this run

name: Builds
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
changes:
runs-on: ubuntu-latest
# Required permissions
permissions:
pull-requests: read
# Set job outputs to values from filter step
outputs:
android: ${{ steps.filter.outputs.android }}
web: ${{ steps.filter.outputs.web }}
admin: ${{ steps.filter.outputs.admin }}
admin-dependencies: ${{ steps.filter.outputs.admin-dependencies }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
android:
- 'app/**'
- '*gradle*'
- '.github/workflows/*'
- 'gradle/**'
web:
- 'web/**'
- '.github/workflows/*'
admin:
- 'admin/**'
- '.github/workflows/*'
admin-dependencies:
- 'admin/package*'
- '.github/workflows/*'
block-fixup:
if: ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Block fixup commit merge
uses: 13rac1/block-fixup-merge-action@v2.0.0
build-android:
needs: changes
if: ${{ needs.changes.outputs.android == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v4
with:
java-version: "17"
distribution: "temurin"
- name: Decode google-services.json
env:
FIREBASE_SECRET: ${{ secrets.FIREBASE_SECRET }}
run: echo $FIREBASE_SECRET | base64 --decode > app/google-services.json
- name: set up Gradle
uses: gradle/actions/setup-gradle@v4
with:
dependency-graph: generate-and-submit
- name: Build with Gradle
env:
# ORG_GRADLE_PROJECT_Refitted_IdentityPoolId: ${{ secrets.REFITTED_IDENTITYPOOLID }}
# ORG_GRADLE_PROJECT_Refitted_OpenIdSource: ${{ secrets.REFITTED_OPENIDSOURCE }}
ORG_GRADLE_PROJECT_Refitted_IdentityPoolId: 'not-needed'
ORG_GRADLE_PROJECT_Refitted_OpenIdSource: 'not-needed'
run: ./gradlew assembleRelease --warning-mode=fail
build-web:
needs: changes
if: ${{ needs.changes.outputs.web == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.15
uses: actions/setup-node@v4
with:
node-version: 20.15
cache: "npm"
cache-dependency-path: "web/package-lock.json"
- run: npm ci
working-directory: web
- name: Decode secrets
env:
FIREBASE: ${{ secrets.FIREBASETS }}
AWS: ${{ secrets.AWSTS }}
# base64 -w 0 <file> | clip
run: |
echo $FIREBASE | base64 --decode > web/store/auth/firebase.ts
echo $AWS | base64 --decode > web/store/aws/aws.ts
- run: npm run build
working-directory: web
lint-web:
needs: changes
if: ${{ needs.changes.outputs.web == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.15
uses: actions/setup-node@v4
with:
node-version: 20.15
cache: "npm"
cache-dependency-path: "web/package-lock.json"
- run: npm ci
working-directory: web
- name: Decode secrets
env:
FIREBASE: ${{ secrets.FIREBASETS }}
AWS: ${{ secrets.AWSTS }}
# base64 -w 0 <file> | clip
run: |
echo $FIREBASE | base64 --decode > web/store/auth/firebase.ts
echo $AWS | base64 --decode > web/store/aws/aws.ts
- run: npm run lint
working-directory: web
lint-admin:
needs: changes
if: ${{ needs.changes.outputs.admin == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.15
uses: actions/setup-node@v4
with:
node-version: 20.15
cache: "npm"
cache-dependency-path: "admin/package-lock.json"
- run: npm ci
working-directory: admin
- name: Provide firebase.json
# base64 -w 0 <file> | clip
run: |
echo "{}" > admin/firebase.json
- run: npm run lint
working-directory: admin
admin-matrix:
needs: changes
if: ${{ needs.changes.outputs.admin == 'true' && needs.changes.outputs.admin-dependencies == 'false' }}
runs-on: ubuntu-latest
# Required permissions
permissions:
pull-requests: read
# Set job outputs to values from filter step
outputs:
admin-packages: ${{ steps.filter.outputs.admin_files }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
list-files: json
filters: |
admin:
- added|modified: 'admin/lambda/*.ts'
build-admin-some:
needs: admin-matrix
# continue-on-error: true
strategy:
max-parallel: 1
matrix:
package: ${{ fromJSON(needs.admin-matrix.outputs.admin-packages) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.15
uses: actions/setup-node@v4
with:
node-version: 20.15
cache: "npm"
cache-dependency-path: "admin/package-lock.json"
- run: npm ci
working-directory: admin
- name: Provide firebase.json
# base64 -w 0 <file> | clip
run: |
echo "{}" > admin/firebase.json
- run: npm run build ../${{ matrix.package }}
working-directory: admin
list-admin-files:
needs: changes
if: ${{ needs.changes.outputs.admin-dependencies == 'true' }}
runs-on: ubuntu-latest
outputs:
paths: ${{ steps.list-files.outputs.paths }}
steps:
- name: List Files
id: list-files
uses: mirko-felice/list-files-action@v3.0.5
with:
repo: ${{ github.repository }}
ref: ${{ github.ref }}
path: "admin/lambda"
ext: ".ts"
# TODO can this be combined with the non-depencency version?
build-admin-all:
needs: list-admin-files
# continue-on-error: true
strategy:
max-parallel: 1
matrix:
package: ${{ fromJSON(needs.list-admin-files.outputs.paths) }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.15
uses: actions/setup-node@v4
with:
node-version: 20.15
cache: "npm"
cache-dependency-path: "admin/package-lock.json"
- run: npm ci
working-directory: admin
- name: Decode secrets
env:
GROUPS: ${{ secrets.REFITTED_GROUPS }}
# base64 -w 0 <file> | clip
run: |
echo "{}" > admin/firebase.json
echo $GROUPS | base64 --decode > admin/refitted.ts
- run: npm run build ../${{ matrix.package }}
working-directory: admin
build-admin-pass:
if: ${{ always() }}
runs-on: ubuntu-latest
needs: [build-admin-all, build-admin-some]
steps:
- run: exit 1
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}