diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c90459..6684257 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,19 +1,17 @@ # This is a basic workflow to help you get started with Actions -name: deploy +name: build and deploy main # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: push: branches: [master] - pull_request: - branches: [master] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" - deploy: + build-and-deploy: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml new file mode 100644 index 0000000..07a2f0d --- /dev/null +++ b/.github/workflows/staging.yml @@ -0,0 +1,47 @@ +# This is a basic workflow to help you get started with Actions + +name: build and deploy staging + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + branches: [staging] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build-and-deploy: + # The type of runner that the job will run on + runs-on: ubuntu-latest + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Set Node.js + uses: actions/setup-node@master + with: + node-version: 16.x + cache: yarn + - name: Install dependencies + run: yarn install --prod --pure-lockfile + - name: Gatsby cache + uses: actions/cache@v2 + with: + key: ${{ runner.os }}-gatsby-build-${{ github.run_id }} + restore-keys: | + ${{ runner.os }}-gatsby-build- + path: | + public + .cache + - name: Build + run: yarn run build + - name: upload + uses: burnett01/rsync-deployments@4.1 + with: + switches: -zr --delete --exclude node_modules --exclude '.git*' + path: ./public/ + remote_path: www/personal-website-staging + remote_host: droplet.chuckdries.com + remote_user: ${{ secrets.CI_USER }} + remote_key: ${{ secrets.CI_SSH_KEY }}