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