diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..8c58dabf --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,79 @@ +version: 2 +updates: +- package-ecosystem: composer + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 + target-branch: dev + ignore: + - dependency-name: laravel/framework + versions: + - 7.30.3 + - 8.36.2 + - 8.37.0 + - 8.38.0 + - dependency-name: doctrine/dbal + versions: + - 2.13.0 + - 3.0.0 + - dependency-name: phpunit/phpunit + versions: + - 9.5.1 + - 9.5.3 + - dependency-name: facade/ignition + versions: + - 2.5.10 + - 2.5.11 + - 2.5.12 + - 2.5.13 + - 2.5.9 + - dependency-name: laravel/tinker + versions: + - 2.6.0 + - dependency-name: nunomaduro/collision + versions: + - 5.3.0 + - dependency-name: nunomaduro/larastan + versions: + - 0.6.13 +- package-ecosystem: npm + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 + target-branch: dev + ignore: + - dependency-name: chart.js + versions: + - 3.1.0 + - 3.1.1 + - dependency-name: laravel-mix + versions: + - 6.0.16 + - dependency-name: y18n + versions: + - 4.0.1 + - 4.0.2 + - dependency-name: react-dom + versions: + - 17.0.2 + - dependency-name: react + versions: + - 17.0.2 + - dependency-name: react-bootstrap + versions: + - 1.4.3 + - 1.5.0 + - dependency-name: sass + versions: + - 1.32.5 + - 1.32.6 + - 1.32.7 + - dependency-name: "@babel/plugin-proposal-class-properties" + versions: + - 7.12.13 + - dependency-name: react-toastify + versions: + - 7.0.1 + - 7.0.2 diff --git a/.github/workflows/laravel-dev.yml b/.github/workflows/laravel-dev.yml index 862a4ec4..2c1426ea 100644 --- a/.github/workflows/laravel-dev.yml +++ b/.github/workflows/laravel-dev.yml @@ -1,59 +1,29 @@ -name: Dev +name: Build Dev Image on: push: branches: [ dev ] jobs: - laravel-tests: - + build: 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 + - 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.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - 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-tracker:dev,henrywhitaker3/speedtest-tracker:dev-arm diff --git a/.github/workflows/laravel-master.yml b/.github/workflows/laravel-master.yml new file mode 100644 index 00000000..414033f5 --- /dev/null +++ b/.github/workflows/laravel-master.yml @@ -0,0 +1,29 @@ +name: Build Latest Image + +on: + push: + branches: [ master ] + +jobs: + 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.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - 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-tracker:latest,henrywhitaker3/speedtest-tracker:latest-arm diff --git a/.github/workflows/laravel-stable.yml b/.github/workflows/laravel-stable.yml deleted file mode 100644 index 2e259356..00000000 --- a/.github/workflows/laravel-stable.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Stable - -on: - push: - branches: [ master ] - -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