Skip to content

Commit 6b2347a

Browse files
authored
monthly NuGet release previews (pythonnet#1381)
1 parent d86bf3c commit 6b2347a

File tree

5 files changed

+86
-14
lines changed

5 files changed

+86
-14
lines changed

.github/workflows/nuget-preview.yml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: GitHub Actions
2+
3+
on:
4+
schedule:
5+
- cron: "5 4 3 */1 *" # once a month, at 4:05 on 3rd
6+
7+
jobs:
8+
release:
9+
name: Release Preview
10+
runs-on: ubuntu-latest
11+
environment: NuGet
12+
timeout-minutes: 10
13+
14+
env:
15+
PYTHONNET_SHUTDOWN_MODE: Normal
16+
17+
steps:
18+
- name: Get Date
19+
run: |
20+
echo "DATE_VER=$(date "+%Y-%m-%d")" >> $GITHUB_ENV
21+
22+
- name: Checkout code
23+
uses: actions/checkout@v2
24+
25+
- name: Setup .NET
26+
uses: actions/setup-dotnet@v1
27+
28+
- name: Set up Python 3.8
29+
uses: actions/setup-python@v2
30+
with:
31+
python-version: 3.8
32+
architecture: x64
33+
34+
- name: Install dependencies
35+
run: |
36+
pip install --upgrade -r requirements.txt
37+
38+
- name: Build and Install
39+
run: |
40+
python setup.py configure
41+
pip install -v .
42+
43+
- name: Python Tests
44+
run: pytest
45+
env:
46+
PYTHONNET_PYDLL: libpython3.8.so
47+
48+
- name: Embedding tests
49+
run: dotnet test --runtime any-ubuntu src/embed_tests/
50+
env:
51+
PYTHONNET_PYDLL: libpython3.8.so
52+
53+
- name: Pack
54+
run: dotnet pack --configuration Release --version-suffix preview${{env.DATE_VER}} --output "Release-Preview"
55+
56+
- name: Publish NuGet
57+
run: dotnet nuget push --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_MONTHLY }} Release-Preview/*.nupkg
58+
59+
# TODO: Run perf tests
60+
# TODO: Run mono tests on Windows?

Directory.Build.props

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<AssemblyCompany>pythonnet</AssemblyCompany>
66
<AssemblyProduct>Python.NET</AssemblyProduct>
77
<LangVersion>7.3</LangVersion>
8+
<IsPackable>false</IsPackable>
89
</PropertyGroup>
910
<ItemGroup>
1011
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2006-2020 the contributors of the Python.NET project
3+
Copyright (c) 2006-2021 the contributors of the Python.NET project
44

55
Permission is hereby granted, free of charge, to any person obtaining a
66
copy of this software and associated documentation files (the "Software"),

pythonnet.sln

+8-12
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Repo", "Repo", "{441A0123-F
2121
.editorconfig = .editorconfig
2222
.gitignore = .gitignore
2323
CHANGELOG.md = CHANGELOG.md
24+
LICENSE = LICENSE
2425
README.rst = README.rst
2526
EndProjectSection
2627
EndProject
@@ -30,6 +31,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CI", "CI", "{D301657F-5EAF-
3031
ci\appveyor_build_recipe.ps1 = ci\appveyor_build_recipe.ps1
3132
ci\appveyor_run_tests.ps1 = ci\appveyor_run_tests.ps1
3233
.github\workflows\main.yml = .github\workflows\main.yml
34+
.github\workflows\nuget-preview.yml = .github\workflows\nuget-preview.yml
3335
EndProjectSection
3436
EndProject
3537
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{57F5D701-F265-4736-A5A2-07249E7A4DA3}"
@@ -51,6 +53,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{BC426F42
5153
EndProject
5254
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Python.PythonTestsRunner", "src\python_tests_runner\Python.PythonTestsRunner.csproj", "{35CBBDEB-FC07-4D04-9D3E-F88FC180110B}"
5355
EndProject
56+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{142A6752-C2C2-4F95-B982-193418001B65}"
57+
ProjectSection(SolutionItems) = preProject
58+
configured.props = configured.props
59+
Directory.Build.props = Directory.Build.props
60+
EndProjectSection
61+
EndProject
5462
Global
5563
GlobalSection(SolutionConfigurationPlatforms) = preSolution
5664
Debug|Any CPU = Debug|Any CPU
@@ -145,18 +153,6 @@ Global
145153
{F2FB6DA3-318E-4F30-9A1F-932C667E38C5}.Release|x64.Build.0 = Release|Any CPU
146154
{F2FB6DA3-318E-4F30-9A1F-932C667E38C5}.Release|x86.ActiveCfg = Release|Any CPU
147155
{F2FB6DA3-318E-4F30-9A1F-932C667E38C5}.Release|x86.Build.0 = Release|Any CPU
148-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
149-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|Any CPU.Build.0 = Debug|Any CPU
150-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|x64.ActiveCfg = Debug|Any CPU
151-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|x64.Build.0 = Debug|Any CPU
152-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|x86.ActiveCfg = Debug|Any CPU
153-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Debug|x86.Build.0 = Debug|Any CPU
154-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|Any CPU.ActiveCfg = Release|Any CPU
155-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|Any CPU.Build.0 = Release|Any CPU
156-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|x64.ActiveCfg = Release|Any CPU
157-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|x64.Build.0 = Release|Any CPU
158-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|x86.ActiveCfg = Release|Any CPU
159-
{6CF9EEA0-F865-4536-AABA-739AE3DA971E}.Release|x86.Build.0 = Release|Any CPU
160156
{35CBBDEB-FC07-4D04-9D3E-F88FC180110B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
161157
{35CBBDEB-FC07-4D04-9D3E-F88FC180110B}.Debug|Any CPU.Build.0 = Debug|Any CPU
162158
{35CBBDEB-FC07-4D04-9D3E-F88FC180110B}.Debug|x64.ActiveCfg = Debug|Any CPU

src/runtime/Python.Runtime.csproj

+16-1
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,35 @@
55
<LangVersion>9.0</LangVersion>
66
<RootNamespace>Python.Runtime</RootNamespace>
77
<AssemblyName>Python.Runtime</AssemblyName>
8+
89
<PackageId>pythonnet</PackageId>
9-
<PackageLicenseUrl>https://github.com/pythonnet/pythonnet/blob/master/LICENSE</PackageLicenseUrl>
10+
<PackageLicenseFile>LICENSE</PackageLicenseFile>
1011
<RepositoryUrl>https://github.com/pythonnet/pythonnet</RepositoryUrl>
1112
<RepositoryType>git</RepositoryType>
1213
<PackageTags>python interop dynamic dlr Mono pinvoke</PackageTags>
1314
<PackageIconUrl>https://raw.githubusercontent.com/pythonnet/pythonnet/master/src/console/python-clear.ico</PackageIconUrl>
1415
<PackageProjectUrl>https://pythonnet.github.io/</PackageProjectUrl>
16+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
17+
<Description>Python and CLR (.NET and Mono) cross-platform language interop</Description>
18+
19+
<DebugSymbols>true</DebugSymbols>
20+
<IncludeSymbols>true</IncludeSymbols>
21+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
22+
1523
<NoWarn>1591;NU1701</NoWarn>
1624
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
25+
26+
<IsPackable>true</IsPackable>
1727
</PropertyGroup>
1828

1929
<PropertyGroup>
2030
<DefineConstants>$(DefineConstants);$(ConfiguredConstants)</DefineConstants>
2131
</PropertyGroup>
2232

33+
<ItemGroup>
34+
<None Include="..\..\LICENSE" Pack="true" PackagePath=""/>
35+
</ItemGroup>
36+
2337
<ItemGroup>
2438
<None Remove="resources\clr.py" />
2539
<EmbeddedResource Include="resources\clr.py">
@@ -30,5 +44,6 @@
3044
<ItemGroup>
3145
<PackageReference Include="System.Security.Permissions" Version="4.4.0" />
3246
<PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
47+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
3348
</ItemGroup>
3449
</Project>

0 commit comments

Comments
 (0)