56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
name: Test and Deploy installer
|
|
on:
|
|
workflow_dispatch: {}
|
|
push:
|
|
paths:
|
|
- 'tools/install.sh'
|
|
- '.github/workflows/installer/**'
|
|
- '.github/workflows/installer.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: false
|
|
|
|
permissions:
|
|
contents: read # to checkout
|
|
|
|
jobs:
|
|
test:
|
|
name: Test installer
|
|
if: github.repository == 'ohmyzsh/ohmyzsh'
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
steps:
|
|
- name: Set up git repository
|
|
uses: actions/checkout@v4
|
|
- name: Install zsh
|
|
if: runner.os == 'Linux'
|
|
run: sudo apt-get update; sudo apt-get install zsh
|
|
- name: Test installer
|
|
run: sh ./tools/install.sh
|
|
|
|
deploy:
|
|
name: Deploy installer in install.ohmyz.sh
|
|
if: github.ref == 'refs/heads/master'
|
|
runs-on: ubuntu-latest
|
|
environment: vercel
|
|
needs:
|
|
- test
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Vercel CLI
|
|
run: npm install -g vercel
|
|
- name: Setup project and deploy
|
|
env:
|
|
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
|
|
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
|
|
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
|
|
run: |
|
|
cp tools/install.sh .github/workflows/installer/install.sh
|
|
cd .github/workflows/installer
|
|
vc deploy --prod -t "$VERCEL_TOKEN"
|