Skip to content

Ci #18

Merged
merged 6 commits into from
Feb 18, 2023
Merged

Ci #18

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions .github/workflows/dev-cloudflare-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: Deploy EOEFANS WEB to Cloudflare pages

on:
push:
branches: [ "main","ci" ]
# pull_request:
# types: [synchronize, closed]
# branches: [ "main","ci" ]

# Environment variables available to all jobs and steps in this workflow
env:
APP_LOCATION: "/" # location of your client code
APP_ARTIFACT_LOCATION: "dist" # location of client code build output
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
RPOJECT_NAME: eoefans-web-dev

permissions:
contents: read

jobs:
build_and_deploy_job:
permissions:
contents: read
deployments: write
pull-requests: write # for Azure/static-web-apps-deploy to comment on PRs
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: [ self-hosted, Linux ]
environment:
name: 'Development'

strategy:
matrix:
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

name: Build and Deploy Job
steps:
- uses: actions/checkout@v3
with:
submodules: true


- uses: actions/setup-node@v3
name: Use Node.js ${{ matrix.node-version }}
with:
node-version: ${{ matrix.node-version }}

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
with:
version: 7
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install

- name: Use pnpm to build
run: pnpm run build

# - name: post-build test
# run: pnpm test

- name: Publish
uses: cloudflare/pages-action@1
with:
apiToken: ${{ env.CLOUDFLARE_API_TOKEN }}
accountId: ${{ env.CLOUDFLARE_ACCOUNT_ID }}
projectName: eoefans-web-dev # e.g. 'my-project'
directory: ${{ env.APP_ARTIFACT_LOCATION }} # e.g. 'dist'
gitHubToken: ${{ secrets.GITHUB_TOKEN }}

close_pull_request_job:
permissions:
contents: none
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: [ self-hosted, Linux ]
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: cloudflare/pages-action@1
with:
apiToken: ${{ env.CLOUDFLARE_API_TOKEN }}
accountId: ${{ env.CLOUDFLARE_ACCOUNT_ID }}
projectName: ${{ env.RPOJECT_NAME }} # e.g. 'my-project'
directory: ${{ env.APP_ARTIFACT_LOCATION }} # e.g. 'dist'
gitHubToken: ${{ secrets.GITHUB_TOKEN }}