This commit is contained in:
@@ -9,59 +9,23 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GOPROXY: https://goproxy.cn,direct
|
||||
GONOSUMCHECK: "*"
|
||||
PUB_HOSTED_URL: https://pub.flutter-io.cn
|
||||
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Cache Go SDK + modules
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
/usr/local/go
|
||||
~/go/pkg/mod
|
||||
~/.cache/go-build
|
||||
key: go-${{ hashFiles('backend/go.mod') }}
|
||||
restore-keys: go-
|
||||
|
||||
- name: Install Go
|
||||
- name: Setup paths
|
||||
run: |
|
||||
if [ ! -f /usr/local/go/bin/go ]; then
|
||||
GO_VERSION=$(grep '^go ' backend/go.mod | awk '{print $2}')
|
||||
curl -fsSL https://golang.google.cn/dl/go${GO_VERSION}.linux-amd64.tar.gz -o /tmp/go.tar.gz
|
||||
sudo tar -C /usr/local -xzf /tmp/go.tar.gz
|
||||
fi
|
||||
echo "/usr/local/go/bin" >> $GITHUB_PATH
|
||||
echo "/volume1/docker/tools/go/bin" >> $GITHUB_PATH
|
||||
echo "/volume1/docker/tools/flutter/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Go tests
|
||||
working-directory: backend
|
||||
run: go test ./...
|
||||
|
||||
- name: Cache Flutter SDK + pub
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
/opt/flutter
|
||||
~/.pub-cache
|
||||
key: flutter-3.41.6-${{ hashFiles('client/pubspec.lock') }}
|
||||
restore-keys: flutter-3.41.6-
|
||||
|
||||
- name: Install Flutter
|
||||
run: |
|
||||
if [ ! -f /opt/flutter/bin/flutter ]; then
|
||||
curl -fsSL https://storage.flutter-io.cn/flutter_infra_release/releases/stable/linux/flutter_linux_3.41.6-stable.tar.xz -o /tmp/flutter.tar.xz
|
||||
sudo tar -C /opt -xf /tmp/flutter.tar.xz
|
||||
fi
|
||||
echo "/opt/flutter/bin" >> $GITHUB_PATH
|
||||
env:
|
||||
PUB_HOSTED_URL: https://pub.flutter-io.cn
|
||||
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
|
||||
|
||||
- name: Flutter tests
|
||||
working-directory: client
|
||||
run: flutter test
|
||||
env:
|
||||
PUB_HOSTED_URL: https://pub.flutter-io.cn
|
||||
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
|
||||
|
||||
- name: Build backend (linux/amd64)
|
||||
working-directory: backend
|
||||
@@ -70,9 +34,6 @@ jobs:
|
||||
- name: Build Flutter Web
|
||||
working-directory: client
|
||||
run: flutter build web --release --dart-define=BASE_URL=https://jiu.51yanmei.com --dart-define=PUBLIC_URL=https://jiu.51yanmei.com
|
||||
env:
|
||||
PUB_HOSTED_URL: https://pub.flutter-io.cn
|
||||
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
|
||||
|
||||
- name: Package artifacts
|
||||
run: |
|
||||
@@ -112,7 +73,7 @@ jobs:
|
||||
EC2_HOST: ${{ secrets.EC2_HOST }}
|
||||
EC2_USER: ${{ secrets.EC2_USER }}
|
||||
run: |
|
||||
scp -i ~/.ssh/ec2.pem backend/jiu-server ${EC2_USER}@${EC2_HOST}:/tmp/jiu-server
|
||||
scp -O -i ~/.ssh/ec2.pem backend/jiu-server ${EC2_USER}@${EC2_HOST}:/tmp/jiu-server
|
||||
rsync -avz --delete -e "ssh -i ~/.ssh/ec2.pem" \
|
||||
client/build/web/ ${EC2_USER}@${EC2_HOST}:/tmp/jiu-web-new/
|
||||
ssh -i ~/.ssh/ec2.pem ${EC2_USER}@${EC2_HOST} << 'ENDSSH'
|
||||
|
||||
@@ -15,7 +15,9 @@ cache:
|
||||
container:
|
||||
network: bridge
|
||||
privileged: false
|
||||
# 备份目录挂载到每个 job 容器,使 backup workflow 可以写 NAS 磁盘
|
||||
options: -v /volume1/backups:/volume1/backups
|
||||
options: >-
|
||||
-v /volume1/docker/backups:/volume1/docker/backups
|
||||
-v /volume1/docker/tools:/volume1/docker/tools
|
||||
valid_volumes:
|
||||
- /volume1/backups
|
||||
- /volume1/docker/backups
|
||||
- /volume1/docker/tools
|
||||
|
||||
Reference in New Issue
Block a user