You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.4 KiB
94 lines
2.4 KiB
name: Generate |
|
on: |
|
pull_request: |
|
|
|
concurrency: |
|
group: generate-${{ github.head_ref || github.run_id }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
changes: |
|
name: Check changes |
|
runs-on: ubuntu-22.04 |
|
outputs: |
|
src: ${{ steps.changes.outputs.src}} |
|
steps: |
|
- uses: dorny/paths-filter@v2 |
|
id: changes |
|
continue-on-error: true |
|
with: |
|
filters: | |
|
src: |
|
- external/** |
|
- tool/** |
|
- packages/dynamite/** |
|
- packages/nextcloud/** |
|
|
|
dart: |
|
name: Dart |
|
runs-on: ubuntu-22.04 |
|
needs: changes |
|
if: needs.changes.outputs.src != 'false' |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 |
|
with: |
|
fetch-depth: 0 |
|
- name: Submodules |
|
run: git submodule update --init --depth 0 |
|
|
|
- name: Install dart |
|
uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d # v1 |
|
- name: Setup |
|
run: ./tool/setup.sh |
|
|
|
- name: Generate dynamite end to end test |
|
run: | |
|
./tool/generate-dynamite-e2e-test.sh |
|
if [ -n "$(git status --porcelain)" ]; then |
|
git --no-pager diff |
|
exit 1 |
|
fi |
|
|
|
- name: Generate dynamite petstore example |
|
run: | |
|
./tool/generate-dynamite-petstore-example.sh |
|
if [ -n "$(git status --porcelain)" ]; then |
|
git --no-pager diff |
|
exit 1 |
|
fi |
|
|
|
- name: Generate nextcloud |
|
run: | |
|
./tool/generate-nextcloud.sh |
|
if [ -n "$(git status --porcelain)" ]; then |
|
git --no-pager diff |
|
exit 1 |
|
fi |
|
|
|
openapi: |
|
name: OpenAPI |
|
runs-on: ubuntu-22.04 |
|
needs: changes |
|
if: needs.changes.outputs.src != 'false' |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 |
|
with: |
|
fetch-depth: 0 |
|
- name: Submodules |
|
run: git submodule update --init --depth 0 |
|
|
|
- name: Install php |
|
uses: shivammathur/setup-php@a36e1e52ff4a1c9e9c9be31551ee4712a6cb6bd0 # v2 |
|
with: |
|
php-version: '8.1' |
|
tools: composer |
|
|
|
- name: Generate specs |
|
run: | |
|
./tool/generate-specs.sh |
|
if [ -n "$(git status --porcelain)" ]; then |
|
git --no-pager diff |
|
exit 1 |
|
fi
|
|
|