diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..92ca412 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,46 @@ +name: Deploy to Pages + +on: + push: + branches: ['main'] + pull_request: + branches: ['main'] + workflow_dispatch: + +concurrency: + group: 'pages' + cancel-in-progress: false + +jobs: + build: + runs-on: docker + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version-file: '.nvmrc' + cache: 'npm' + + - name: Install dependencies + run: npm ci + + - name: Lint + run: | + npm run lint + git diff + if [[ `git status --porcelain` ]]; then + exit 1 + fi + + - name: Build + run: npm run build + + - name: Copy build to host pages mount + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + run: | + apt update && apt install -y rsync + mkdir -p /pages + rsync -a --delete dist/ /pages/schmelczer-dev diff --git a/.github/workflows/lint-and-deploy.yaml b/.github/workflows/lint-and-deploy.yaml deleted file mode 100644 index a6fd07b..0000000 --- a/.github/workflows/lint-and-deploy.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: Check, build and deploy to GitHub Pages -on: - push: - branches: - - main - -jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Lint - run: | - npm ci - npm run lint && git diff - if [[ `git status --porcelain` ]]; then - exit 1 - fi - build-and-deploy: - concurrency: ci-${{ github.ref }} - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Install and Build - run: | - npm ci - npm run build - - - name: Deploy - uses: JamesIves/github-pages-deploy-action@v4.4.0 - with: - branch: gh-pages - folder: dist