From a5398d28307ff01ebc20f726fcbdb867e24c8105 Mon Sep 17 00:00:00 2001 From: Brandon Date: Mon, 18 Jan 2021 12:07:31 -0600 Subject: [PATCH] wip(ci): Change from CircleCI to GitHub actions --- .circleci/config.yml | 23 -------------- .github/workflows/main.yml | 65 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 23 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/main.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 4002549..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,23 +0,0 @@ -version: 2.1 - -orbs: - node: circleci/node@3 - php: circleci/php@1 - -workflows: - build: - jobs: - - node/test: - name: node-<< matrix.version >> - pkg-manager: yarn - post-steps: - - run: yarn run build:production - matrix: - parameters: - version: ['12.18', '14.4'] - - php/test: - name: php-<< matrix.version >> - test-command: lint - matrix: - parameters: - version: ['7.3', '7.4', '8.0'] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..bd8e089 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,65 @@ +name: Main + +on: [pull_request] + +jobs: + main: + runs-on: ubuntu-latest + strategy: + matrix: + node: ['12.18', '14.4'] + php: ['7.3', '7.4', '8.0'] + + steps: + - name: Checkout the project + uses: actions/checkout@v2 + + - name: Setup the Node ${{ matrix.node }} environment + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node }} + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Retrieve the Yarn cache directory + id: yarncache + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v2 + with: + path: ${{ steps.yarncache.outputs.dir }} + key: ${{ runner.os }}-${{ matrix.node }}-yarn-${{ hashFiles('**/package.json') }} + restore-keys: ${{ runner.os }}-${{ matrix.node }}-yarn- + + - name: Setup the PHP ${{ matrix.php }} environment + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: xdebug + env: + COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Retrieve the Composer cache directory + id: composercache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - uses: actions/cache@v2 + with: + path: ${{ steps.composercache.outputs.dir }} + key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer- + + - name: Install Node dependencies + run: yarn install + + - name: Run linting on styles and scripts + run: yarn test + + - name: Run the build process in production mode + run: yarn build:production + + - name: Install Composer dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader --no-suggest + + - name: Run linting on PHP + run: composer run-script lint