summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/installer.yml55
-rw-r--r--.github/workflows/installer/.gitignore1
-rw-r--r--.github/workflows/installer/.vercelignore2
-rw-r--r--.github/workflows/installer/vercel.json14
-rw-r--r--.github/workflows/main.yml2
5 files changed, 72 insertions, 2 deletions
diff --git a/.github/workflows/installer.yml b/.github/workflows/installer.yml
new file mode 100644
index 000000000..ac88d10b0
--- /dev/null
+++ b/.github/workflows/installer.yml
@@ -0,0 +1,55 @@
+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
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os:
+ - ubuntu-latest
+ - macos-latest
+ steps:
+ - name: Set up git repository
+ uses: actions/checkout@v3
+ - 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@v3
+ - 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 }}
+ run: |
+ cp tools/install.sh .github/workflows/installer/install.sh
+ cd .github/workflows/installer
+ vc link --yes -t ${{ secrets.VERCEL_TOKEN }}
+ vc deploy --prod -t ${{ secrets.VERCEL_TOKEN }}
diff --git a/.github/workflows/installer/.gitignore b/.github/workflows/installer/.gitignore
new file mode 100644
index 000000000..f66fce310
--- /dev/null
+++ b/.github/workflows/installer/.gitignore
@@ -0,0 +1 @@
+install.sh
diff --git a/.github/workflows/installer/.vercelignore b/.github/workflows/installer/.vercelignore
new file mode 100644
index 000000000..41b233364
--- /dev/null
+++ b/.github/workflows/installer/.vercelignore
@@ -0,0 +1,2 @@
+/*
+!/install.sh
diff --git a/.github/workflows/installer/vercel.json b/.github/workflows/installer/vercel.json
new file mode 100644
index 000000000..8c5aec5e0
--- /dev/null
+++ b/.github/workflows/installer/vercel.json
@@ -0,0 +1,14 @@
+{
+ "headers": [
+ {
+ "source": "/((?!favicon.ico).*)",
+ "headers": [{ "key": "Content-Type", "value": "text/plain" }]
+ }
+ ],
+ "rewrites": [
+ {
+ "source": "/((?!favicon.ico|install.sh).*)",
+ "destination": "/install.sh"
+ }
+ ]
+}
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 8ee2df3d8..57403629c 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -31,8 +31,6 @@ jobs:
- 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
- name: Check syntax
run: |
for file in ./oh-my-zsh.sh \