code-server/.github/workflows/ci.yaml

149 lines
3.9 KiB
YAML
Raw Normal View History

2020-05-07 12:06:55 +08:00
name: ci
on: [push, pull_request]
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run ./ci/steps/fmt.sh
uses: ./ci/container
with:
args: ./ci/steps/fmt.sh
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run ./ci/steps/lint.sh
uses: ./ci/container
with:
args: ./ci/steps/lint.sh
2020-05-08 08:44:32 +08:00
test:
runs-on: ubuntu-latest
2020-05-07 12:06:55 +08:00
steps:
- uses: actions/checkout@v1
2020-05-08 08:44:32 +08:00
- name: Run ./ci/steps/test.sh
uses: ./ci/container
with:
args: ./ci/steps/test.sh
release:
2020-05-08 08:44:32 +08:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run ./ci/steps/release.sh
uses: ./ci/container
with:
args: ./ci/steps/release.sh
- name: Upload npm package artifact
uses: actions/upload-artifact@v2
with:
name: npm-package
path: ./release
linux-amd64:
needs: release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Download npm package
uses: actions/download-artifact@v2
with:
name: npm-package
path: ./release
- name: Run ./ci/steps/release-static.sh
uses: ./ci/container
with:
args: ./ci/steps/release-static.sh
- name: Upload release artifacts
uses: actions/upload-artifact@v2
with:
name: release-packages
path: ./release-packages
2020-05-08 08:44:32 +08:00
linux-arm64:
needs: release
2020-05-08 08:44:32 +08:00
runs-on: ubuntu-arm64-latest
steps:
- uses: actions/checkout@v1
- name: Download npm package
uses: actions/download-artifact@v2
with:
name: npm-package
path: ./release
- name: Run ./ci/steps/release-static.sh
uses: ./ci/container/arm64
2020-05-08 08:44:32 +08:00
with:
args: ./ci/steps/release-static.sh
2020-05-08 08:44:32 +08:00
- name: Upload release artifacts
uses: actions/upload-artifact@v2
with:
name: release-packages
path: ./release-packages
2020-05-08 08:44:32 +08:00
2020-05-08 13:42:46 +08:00
macos-amd64:
needs: release
2020-05-08 08:44:32 +08:00
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- name: Download npm package
uses: actions/download-artifact@v2
with:
name: npm-package
path: ./release
2020-05-08 08:44:32 +08:00
- run: brew unlink node@12
- run: brew install node
- run: ./ci/steps/release-static.sh
2020-05-08 08:44:32 +08:00
env:
# Otherwise we get rate limited when fetching the ripgrep binary.
2020-05-09 04:31:42 +08:00
# For whatever reason only MacOS needs it.
2020-05-08 15:08:30 +08:00
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2020-05-08 08:44:32 +08:00
- name: Upload release artifacts
uses: actions/upload-artifact@v2
2020-05-07 12:06:55 +08:00
with:
name: release-packages
path: ./release-packages
docker-amd64:
runs-on: ubuntu-latest
needs: linux-amd64
steps:
- uses: actions/checkout@v1
- name: Download release package
uses: actions/download-artifact@v2
with:
name: release-packages
path: ./release-packages
- name: Run ./ci/steps/build-docker-image.sh
uses: ./ci/container
with:
args: ./ci/steps/build-docker-image.sh
- name: Upload release image
uses: actions/upload-artifact@v2
with:
name: release-images
path: ./release-images
docker-arm64:
runs-on: ubuntu-arm64-latest
needs: linux-arm64
steps:
- uses: actions/checkout@v1
- name: Download release package
uses: actions/download-artifact@v2
with:
name: release-packages
path: ./release-packages
- name: Run ./ci/steps/build-docker-image.sh
uses: ./ci/container/arm64
with:
args: ./ci/steps/build-docker-image.sh
- name: Upload release image
uses: actions/upload-artifact@v2
with:
name: release-images
path: ./release-images