Skip to content

Commit 86389fd

Browse files
committed
added CI / CD
1 parent a2099a8 commit 86389fd

File tree

3 files changed

+95
-0
lines changed

3 files changed

+95
-0
lines changed

.github/workflows/cd.yml

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Publish Packages
2+
3+
on:
4+
release:
5+
types: [created]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v2
13+
- name: Setup dotnet
14+
uses: actions/setup-dotnet@v1
15+
with:
16+
dotnet-version: 6.0.*
17+
- name: Install dependencies
18+
run: dotnet restore
19+
- name: Build
20+
run: dotnet build --configuration Release --no-restore
21+
22+
- name: Pack Email.Net
23+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/Core/Email.NET/Email.NET.csproj -o .
24+
- name: Pack Email.NET.Socketlabs
25+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/EmailDeliveryProviders/Email.NET.Socketlabs/Email.NET.Socketlabs.csproj -o .
26+
- name: Pack Email.NET.SendGrid
27+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/EmailDeliveryProviders/Email.NET.SendGrid/Email.NET.SendGrid.csproj -o .
28+
- name: Pack Email.NET.MailKit
29+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/EmailDeliveryProviders/Email.NET.MailKit/Email.NET.MailKit.csproj -o .
30+
- name: Pack Email.NET.Mailgun
31+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/EmailDeliveryProviders/Email.NET.Mailgun/Email.NET.Mailgun.csproj -o .
32+
- name: Pack Email.NET.AmazonSES
33+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/EmailDeliveryProviders/Email.NET.AmazonSES/Email.NET.AmazonSES.csproj -o .
34+
35+
- name: Pack Email.Net.DependencyInjection
36+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.DependencyInjection/Email.NET.DependencyInjection.csproj -o .
37+
- name: Pack Email.NET.Socketlabs.DependencyInjection
38+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.Socketlabs.DependencyInjection/Email.NET.Socketlabs.DependencyInjection.csproj -o .
39+
- name: Pack Email.NET.SendGrid.DependencyInjection
40+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.SendGrid.DependencyInjection/Email.NET.SendGrid.DependencyInjection.csproj -o .
41+
- name: Pack Email.NET.MailKit.DependencyInjection
42+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.MailKit.DependencyInjection/Email.NET.MailKit.DependencyInjection.csproj -o .
43+
- name: Pack Email.NET.Mailgun.DependencyInjection
44+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.Mailgun.DependencyInjection/Email.NET.Mailgun.DependencyInjection.csproj -o .
45+
- name: Pack Email.NET.AmazonSES.DependencyInjection
46+
run: dotnet pack --include-symbols -p:SymbolPackageFormat=snupkg --no-build -c Release src/DependencyInjection/Email.NET.AmazonSES.DependencyInjection/Email.NET.AmazonSES.DependencyInjection.csproj -o .
47+
48+
- name: Push packages
49+
run: dotnet nuget push *.nupkg --api-key ${{secrets.NUGET_KEY}} --source https://api.nuget.org/v3/index.json --skip-duplicate
50+
51+
- name: Upload assets to release
52+
run: |
53+
chmod +x ./publish-assets.sh
54+
./publish-assets.sh ${{ github.event.release.tag_name }}
55+
env:
56+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/ci.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Build and Test
2+
3+
on:
4+
pull_request:
5+
branches: [master]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
env:
11+
EMAIL_NET_TO_EMAIL: ${{secrets.EMAIL_NET_TO_EMAIL}}
12+
EMAIL_NET_FROM_EMAIL: ${{secrets.EMAIL_NET_FROM_EMAIL}}
13+
EMAIL_NET_SOCKETLABS_API_KEY: ${{secrets.EMAIL_NET_SOCKETLABS_API_KEY}}
14+
EMAIL_NET_SOCKETLABS_SERVER: ${{secrets.EMAIL_NET_SOCKETLABS_SERVER}}
15+
EMAIL_NET_SENDGRID_API_KEY: ${{secrets.EMAIL_NET_SENDGRID_API_KEY}}
16+
EMAIL_NET_MAILGUN_API_KEY: ${{secrets.EMAIL_NET_MAILGUN_API_KEY}}
17+
EMAIL_NET_MAILGUN_DOMAIN: ${{secrets.EMAIL_NET_MAILGUN_DOMAIN}}
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Setup dotnet
21+
uses: actions/setup-dotnet@v1
22+
with:
23+
dotnet-version: 6.0.*
24+
- name: Install dependencies
25+
run: dotnet restore
26+
- name: Build
27+
run: dotnet build --configuration Release --no-restore
28+
- name: Test
29+
run: dotnet test --no-restore --verbosity normal

publish-assets.sh

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
assets=()
2+
for asset in *.nupkg
3+
do
4+
assets+=("$asset")
5+
done
6+
for asset in *.snupkg
7+
do
8+
assets+=("$asset")
9+
done
10+
gh release upload $1 "${assets[@]}"

0 commit comments

Comments
 (0)