提交 a5e17104 编写于 作者: S Sebastien Ros

Update deployment scripts

上级 fd1715a4
......@@ -5,8 +5,7 @@ on:
- '**/*.md'
- 'mkdocs.yml'
- 'src/docs/**/*'
branches:
- dev
branches: [ dev, main ]
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
......
name: Preview - CI
on:
push:
paths-ignore:
- '**/*.md'
- 'mkdocs.yml'
- 'src/docs/**/*'
branches: [ dev, main ]
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
jobs:
test:
runs-on: ${{ matrix.os }}
name: Build, Test, Deploy
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: "15"
- name: Setup .NET Core 3.1 on ${{ matrix.os }}
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.*
- name: Setup .NET Core 5.0 on ${{ matrix.os }}
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.*
- name: Set build number
if: matrix.os == 'ubuntu-latest'
run: echo "BuildNumber=$(( $GITHUB_RUN_NUMBER + 15471 ))" >> $GITHUB_ENV
- name: Build
run: |
dotnet build --configuration Release --framework net5.0
dotnet build --configuration Release --framework netcoreapp3.1
- name: Unit Tests
run: |
dotnet test -c Release --no-restore --no-build ./test/OrchardCore.Tests/OrchardCore.Tests.csproj
- name: Functional Tests
if: matrix.os == 'ubuntu-latest'
run: |
cd test/Functional
npm install
npm run cms:test
npm run mvc:test
- uses: actions/upload-artifact@v2
if: matrix.os == 'ubuntu-latest' && failure()
with:
name: Functional Test failure
path: |
test/Functional/cms-tests/cypress/screenshots
src/OrchardCore.Cms.Web/App_Data_Tests/logs
- name: Deploy preview nuget packages
if: matrix.os == 'ubuntu-latest'
run: |
dotnet pack -c Release --no-restore --no-build
dotnet nuget push './src/**/*.nupkg' -k ${{secrets.CLOUDSMITH_API_KEY}} -n true -s https://nuget.cloudsmith.io/orchardcore/preview/v3/index.json --skip-duplicate
- name: Login to DockerHub
if: matrix.os == 'ubuntu-latest'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Deploy preview docker image for linux
if: matrix.os == 'ubuntu-latest'
run: |
rm -rf ./src/OrchardCore.Cms.Web/App_Data
rm -rf ./src/OrchardCore.Cms.Web/App_Data_Tests
dotnet publish -c Release -o ./.build/release --no-build --no-restore --framework net5.0
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-linux:dev .
docker push orchardproject/orchardcore-cms-linux:dev
- name: Deploy preview docker image for windows
if: matrix.os == 'windows-latest'
run: |
Get-ChildItem ./src/OrchardCore.Cms.Web/App_Data -Recurse | Remove-Item
Get-ChildItem ./src/OrchardCore.Cms.Web/App_Data_Tests -Recurse | Remove-Item
dotnet publish -c Release -o ./.build/release --no-build --no-restore --framework net5.0
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-windows:dev .
echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u="${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
docker push orchardproject/orchardcore-cms-windows:dev
......@@ -5,8 +5,9 @@ on:
- '**/*.md'
- 'mkdocs.yml'
- 'src/docs/**/*'
branches:
- 'dev'
tags:
- 'v*.*.*'
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
......@@ -55,10 +56,15 @@ jobs:
path: |
test/Functional/cms-tests/cypress/screenshots
src/OrchardCore.Cms.Web/App_Data_Tests/logs
- name: Deploy preview nuget packages
- name: Build version number
run: |
arrTag=(${GITHUB_REF//\// })
VERSION="${arrTag[2]}"
VERSION="${VERSION//v}"
- name: Deploy release NuGet packages
if: matrix.os == 'ubuntu-latest'
run: |
dotnet pack -c Release --no-restore --no-build
dotnet pack -c Release --no-restore --no-build -p:Version=$VERSION
dotnet nuget push './src/**/*.nupkg' -k ${{secrets.CLOUDSMITH_API_KEY}} -n true -s https://nuget.cloudsmith.io/orchardcore/preview/v3/index.json --skip-duplicate
- name: Login to DockerHub
if: matrix.os == 'ubuntu-latest'
......@@ -66,20 +72,26 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Deploy preview docker image for linux
- name: Deploy release docker image for linux
if: matrix.os == 'ubuntu-latest'
run: |
rm -rf ./src/OrchardCore.Cms.Web/App_Data
rm -rf ./src/OrchardCore.Cms.Web/App_Data_Tests
dotnet publish -c Release -o ./.build/release --no-build --no-restore --framework net5.0
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-linux:dev .
docker push orchardproject/orchardcore-cms-linux:dev
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-linux:latest .
# docker push orchardproject/orchardcore-cms-linux:latest
# docker push "orchardproject/orchardcore-cms-linux:$VERSION"
- name: Deploy preview docker image for windows
if: matrix.os == 'windows-latest'
run: |
Get-ChildItem ./src/OrchardCore.Cms.Web/App_Data -Recurse | Remove-Item
Get-ChildItem ./src/OrchardCore.Cms.Web/App_Data_Tests -Recurse | Remove-Item
dotnet publish -c Release -o ./.build/release --no-build --no-restore --framework net5.0
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-windows:dev .
docker build -f Dockerfile-CI -t orchardproject/orchardcore-cms-windows:latest .
echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u="${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
docker push orchardproject/orchardcore-cms-windows:dev
# docker push orchardproject/orchardcore-cms-windows:latest
# docker push "orchardproject/orchardcore-cms-windows:$VERSION"
# TODO:
# use NuGet
# enable docker push commands
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册