Skip to content

Commit

Permalink
Merge pull request #868 from gbirchmeier/new-ver-readme
Browse files Browse the repository at this point in the history
scripts readme
  • Loading branch information
gbirchmeier authored Jul 15, 2024
2 parents 8d0a5ed + 02dcb05 commit bf8a5ba
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 7 deletions.
7 changes: 5 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ QuickFIX/n is a .NET port of QuickFIX, an open source C++ FIX engine.
What's New
----------

**CAUTION: There are breaking changes between 1.10 and 1.11! Please review the 1.11.0 notes below.**
**CAUTION:**
* **There are breaking changes between 1.11 and 1.12! Please review the 1.12.0 notes below.**
* **There are breaking changes between 1.10 and 1.11! Please review the 1.11.0 notes below.**

### NEXT RELEASE

### v1.12.0

**Breaking changes**
* #768 - span-ify parser (Rob-Hague) - makes a change to QuickFix.Parser interface, which isn't likely to affect users
Expand Down
8 changes: 4 additions & 4 deletions scripts/Build-Nugets.ps1 → scripts/Build-NuGets.ps1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
if ($args.Length -gt 0) {
Write-Error "This script does not take any parameters."
Write-Error "The version number comes from the project files, which are updated by Build-Nugets.ps1"
Write-Error "The version number comes from the project files, which are updated by Build-NuGets.ps1"
Exit 1
}

Expand All @@ -13,12 +13,12 @@ cd $rootpath
dotnet pack -c Release --include-symbols -o $nugetOutPath ./QuickFIXn.sln

if ($LastExitCode -eq 0) {
Write-Host '* Built QuickFIX/n nuget packages' -ForegroundColor Cyan
Write-Host '* Built QuickFIX/n NuGet packages' -ForegroundColor Cyan
} else {
Write-Error "There was an error building QuickFIX/n."
Exit $ExitCode
}

Write-Host "* Created nuget packages in $nugetOutPath" -ForegroundColor Cyan
Write-Host "* Created NuGet packages in $nugetOutPath" -ForegroundColor Cyan

Write-Host "Nuget packages created successfully" -ForegroundColor Green
Write-Host "NuGet packages created successfully" -ForegroundColor Green
2 changes: 1 addition & 1 deletion scripts/Push-Nugets.ps1 → scripts/Push-NuGets.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ if ($missing) {
Write-Host "==============================================" -ForegroundColor Red
Write-Host " * * * ATTENTION * * * " -ForegroundColor Yellow
Write-Host "==============================================" -ForegroundColor Red
Write-Host "I am about to push packages to Nuget.org "
Write-Host "I am about to push packages to NuGet.org "
$confirmation = (Read-Host "If you want to proceed, enter 'YES' in all-caps").Trim()
if ($confirmation -cne 'YES') {
Write-Host "User entered '$confirmation' -- aborting."
Expand Down
81 changes: 81 additions & 0 deletions scripts/README_FOR_NEW_VERSIONS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
How To Use These Scripts To Release a New Build
===============================================

About each script
-----------------

These are all Powershell scripts, so make sure you have Powershell installed.

Run them with `pwsh <script>`. Some take a version param e.g. `v1.23.45`.

### `Generate-Message-Sources.ps1`

Runs the code generator, to regenerate the message/field classes from the Data Dictionary xml files.

If you didn't change the DD, then this should have no effect.

### `Delete-Generated-Sources.ps1`

Deletes all generated sources. Occasionally useful.

### `Bump-Versions.ps1`

Updates the "Version" tag in each csproj file.

### `Build-Zip-Release.ps1`

Builds zips for each project and puts them in `<reporoot>/tmp/zip`.

It will also leave unzipped archive dirs as artifacts.
You can delete those if you don't need to see them.
(This script deletes them when it starts each run.)

### `Build-NuGets.ps1`

Builds NuGet packages and puts them in `<reporoot>/tmp/nuget`

### `Push-NuGets.ps1`

Pushes the packages to NuGet.org.

You need to set env var `NUGET_QFN_API_KEY`. To get a key, you need
to make a nuget.org account and then then generate one in your profile.
And then Grant needs to add you to the project.

(You could instead manually upload all 10 packages to nuget.org via the web page,
but that is painfully tedious.)


AWS S3 tools setup (for uploading zips)
---------------------------------------

These are Powershell modules.

You'll need to have an AWS S3 account, and get AWS Access and Secret keys.

```
pwsh
# `pwsh` puts you into powershell
Install-Module -Name AWS.Tools.S3
Update-Module -Name AWS.Tools.S3
```

The following command creates a local profile that stores your creds.
It will be written to `~/.aws/credentials`
Storing it as "default" makes powershell/AWS use it by default.

```
Set-AWSCredentials -AccessKey <youraccesskey> -SecretKey <yoursecretkey> -StoreAs default
```

Now you can use the `Write-S3Object` to upload the zip.


Release-Creation Procedure
--------------------------

This is documented here, for Connamara staff only:

https://sites.google.com/connamara.com/internal-qfn-release-procedure/


0 comments on commit bf8a5ba

Please sign in to comment.