From 6409f6d6bbc195a0bf375d1c46482f154bef76f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20G=C3=A9rard?= Date: Tue, 22 Aug 2023 17:28:07 +0200 Subject: [PATCH] ci: migrate from CircleCI to GithubActions --- .circleci/config.yml | 78 ------------------------------------ .github/workflows/deploy.yml | 43 ++++++++++++++++++++ .github/workflows/test.yml | 16 ++++++++ 3 files changed, 59 insertions(+), 78 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/test.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 8a4b18c..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,78 +0,0 @@ -defaults: &defaults - docker: - - image: circleci/node:14-browsers - environment: - JOBS: 1 - working_directory: ~/site-aiki3 - -version: 2 -jobs: - checkout_code: - <<: *defaults - steps: - - checkout - - persist_to_workspace: - root: . - paths: - - . - - install_dependencies: - <<: *defaults - steps: - - attach_workspace: - at: . - - restore_cache: - keys: - - site-aiki3-node14-v1-{{ checksum "yarn.lock" }} - - site-aiki3-node14-v1- - - run: - name: Yarn Install - command: yarn install --non-interactive --pure-lockfile - - save_cache: - key: site-aiki3-node14-v1-{{ checksum "yarn.lock" }} - paths: - - ~/site-aiki3/node_modules - - persist_to_workspace: - root: . - paths: - - . - - test: - <<: *defaults - steps: - - attach_workspace: - at: . - - run: - name: Run Tests - command: yarn test - - build_deploy: - <<: *defaults - steps: - - attach_workspace: - at: . - - run: sudo apt-get install ncftp - - run: - name: Build - command: yarn build - - run: - name: Deploy - command: ncftpput -R -v -u $FTP_USER -p $FTP_PASSWORD $FTP_HOST . dist/* - -workflows: - version: 2 - build_and_test: - jobs: - - checkout_code - - install_dependencies: - requires: - - checkout_code - - test: - requires: - - install_dependencies - - build_deploy: - requires: - - test - filters: - branches: - only: master diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..6ce4621 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: Build and Deploy +on: + push: + branches: + - master +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js 14 + uses: actions/setup-node@v2 + with: + node-version: 14.x + cache: yarn + - name: Yarn Install + run: yarn install + - name: Build + run: yarn build + - name: Wait on tests + uses: lewagon/wait-on-check-action@v0.2 + with: + ref: master + check-name: test + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 10 + - name: Clean ftp + uses: StephanThierry/ftp-delete-action@v2.1 + with: + host: ${{ secrets.FTP_SERVER }} + user: ${{ secrets.FTP_USERNAME }} + password: ${{ secrets.FTP_PASSWORD }} + workingDir: / + remoteFiles: "*.xml;facivon.ico;*.html;manifest.webmanifest;robots.txt;.ftp-deploy-sync-state.json" + remoteDirectories: "assets" + - name: Deploy on ftp + uses: SamKirkland/FTP-Deploy-Action@4.2.0 + with: + server: ${{ secrets.FTP_SERVER }} + username: ${{ secrets.FTP_USERNAME }} + password: ${{ secrets.FTP_PASSWORD }} + local-dir: dist/ + server-dir: / diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e250a53 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,16 @@ +name: Test +on: [push] +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js 14 + uses: actions/setup-node@v2 + with: + node-version: 14.x + cache: yarn + - name: Yarn Install + run: yarn install --frozen-lockfile + - name: Test + run: yarn test