From efecd28afb64cbb3638e8727a1edf8393fed9d7e Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Fri, 10 Sep 2021 19:47:08 +0100 Subject: [PATCH] Add build step to workflow --- .github/workflows/laravel-alpha.yml | 82 +++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 .github/workflows/laravel-alpha.yml diff --git a/.github/workflows/laravel-alpha.yml b/.github/workflows/laravel-alpha.yml new file mode 100644 index 00000000..43461b84 --- /dev/null +++ b/.github/workflows/laravel-alpha.yml @@ -0,0 +1,82 @@ +name: Dev + +on: + push: + branches: [ dev ] + +jobs: + laravel-tests: + + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@b7d1d9c9a92d8d8463ce36d7f60da34d461724f8 + with: + php-version: '7.4' + - uses: actions/checkout@v2 + - name: Copy .env + run: php -r "file_exists('.env') || copy('.env.example', '.env');" + - name: Update .env with secrets + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }} + TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }} + HEALTHCHECKS_UUID: ${{ secrets.HEALTHCHECKS_UUID }} + run: | + echo SLACK_WEBHOOK=$SLACK_WEBHOOK >> .env + echo TELEGRAM_BOT_TOKEN=$TELEGRAM_BOT_TOKEN >> .env + echo TELEGRAM_CHAT_ID=$TELEGRAM_CHAT_ID >> .env + echo HEALTHCHECKS_UUID=$HEALTHCHECKS_UUID >> .env + - name: Install Dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Create Database + run: | + mkdir -p database + touch database/database.sqlite + - name: Generate key + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan key:generate + - name: Generate JWT key + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan jwt:secret + - name: Directory Permissions + run: chmod -R 777 storage bootstrap/cache + - name: Download Speedtest binary + run: wget https://install.speedtest.net/app/cli/ookla-speedtest-1.0.0-x86_64-linux.tgz -O speedtest.tgz && tar zxvf speedtest.tgz && mv speedtest app/Bin/ + - name: Accept EULA + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan speedtest:eula + - name: Execute tests (Unit and Feature tests) via PHPUnit + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: vendor/bin/phpunit + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Docker Setup Buildx + uses: docker/setup-buildx-action@v1.2.0 + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./docker/Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + tags: henrywhitaker3/speedtest:dev