DEV: retrive assets from data object #27
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
laravel-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/[email protected] | |
with: | |
php-version: '8.3' | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
- name: Copy .env | |
run: php -r "file_exists('.env') || copy('.env.example', '.env');" | |
- name: Install PHP Dependencies | |
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist | |
- name: Install Javascript Packages | |
run: npm install && npm run build | |
- name: Generate key | |
run: php artisan key:generate | |
- name: Directory Permissions | |
run: chmod -R 777 storage bootstrap/cache | |
- name: Create Database | |
run: | | |
mkdir -p database | |
touch database/database.sqlite | |
- name: Execute tests (Unit and Feature tests) via PHPUnit/Pest | |
env: | |
DB_CONNECTION: sqlite | |
DB_DATABASE: database/database.sqlite | |
run: php artisan test | |
- name: Generate a token | |
id: generate-token | |
uses: actions/create-github-app-token@v1 | |
with: | |
app-id: ${{ vars.APP_ID }} | |
private-key: ${{ secrets.APP_PRIVATE_KEY }} | |
- name: Delete the previous pre-release | |
uses: actions/[email protected] | |
continue-on-error: true | |
with: | |
github-token: ${{ steps.generate-token.outputs.token }} | |
script: | | |
console.log('searching for release...') | |
const release = await github.rest.repos.getReleaseByTag({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
tag: 'tests-passed', | |
}) | |
if (release) { | |
console.log('found release ' + release.data.id) | |
release.data.assets.forEach(async (asset) => { | |
await github.rest.repos.deleteReleaseAsset({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
asset_id: asset.id | |
}) | |
}) | |
await github.rest.repos.deleteRelease({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
release_id: release.data.id | |
}) | |
} else { | |
console.log('no release found') | |
} | |
- name: Pre-release | |
uses: softprops/[email protected] | |
if: startsWith(github.ref, 'refs/heads/main') | |
with: | |
name: Tests Passed | |
tag_name: tests-passed | |
prerelease: true | |
token: ${{ steps.generate-token.outputs.token }} | |
body: | | |
All the tests are passed for the commit ${{ github.sha }}. |