Skip to content

Commit

Permalink
Initial V1 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonDarksideJ committed Jun 12, 2023
1 parent a5c6baa commit f4c6152
Show file tree
Hide file tree
Showing 111 changed files with 9,435 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @SimonDarksideJ @metaColin
84 changes: 84 additions & 0 deletions .github/ISSUE_TEMPLATE/01_bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Bug Report
description: Create a report to help us improve
labels: []
body:
- type: markdown
attributes:
value: |
We welcome bug reports! Please see our [contribution guidelines](https://github.com/EtharInc/Ethar.GeoPose/blob/main/CONTRIBUTING.md#writing-a-good-bug-report) for more information on writing a good bug report. This template will help us gather the information we need to start the triage process.
- type: textarea
id: background
attributes:
label: Description
description: Please share a clear and concise description of the problem.
placeholder: Description
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: Reproduction Steps
description: |
Please include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small project, with steps to run it. If possible include text as text rather than screenshots (so it shows up in searches).
placeholder: Minimal Reproduction
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: |
Provide a description of the expected behavior.
placeholder: Expected behavior
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: |
Provide a description of the actual behavior observed. If applicable please include any error messages, exception stacktraces or memory dumps.
placeholder: Actual behavior
validations:
required: true
- type: textarea
id: regression
attributes:
label: Regression?
description: |
Did this work in a previous build or release of Ethar GeoPose? If you can try a previous release or build to find out, that can help us narrow down the problem. If you don't know, that's OK.
placeholder: Regression?
validations:
required: false
- type: textarea
id: known-workarounds
attributes:
label: Known Workarounds
description: |
Please provide a description of any known workarounds.
placeholder: Known Workarounds
validations:
required: false
- type: textarea
id: configuration
attributes:
label: Configuration
description: |
Please provide more information on your .NET configuration:
* Which version of .NET is the code running on?
* What OS and version, and what distro if applicable?
* What is the architecture (x64, x86, ARM, ARM64)?
* Do you know whether it is specific to that configuration?
* If you're using Unity or other platform, which condition(s) do you see this issue in?
placeholder: Configuration
validations:
required: false
- type: textarea
id: other-info
attributes:
label: Other information
description: |
If you have an idea where the problem might lie, let us know that here. Please include any pointers to code, relevant changes, or related issues you know of.
placeholder: Other information
validations:
required: false
73 changes: 73 additions & 0 deletions .github/ISSUE_TEMPLATE/02_api_proposal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: API Suggestion
description: Propose a change to the public API surface
title: "[API Proposal]: "
labels: [api-suggestion]
body:
- type: markdown
attributes:
value: |
We welcome API proposals! We have a process to evaluate the value and shape of new API. Although recognise the majority of the library is governed by the [GeoPose Standard](https://docs.ogc.org/dis/21-056r10/21-056r10.html) and some API changes will need to be rattified by the standards body before being accepted.
- type: textarea
id: background
attributes:
label: Background and motivation
description: Please describe the purpose and value of the new API here.
placeholder: Purpose
validations:
required: true
- type: textarea
id: api-proposal
attributes:
label: API Proposal
description: |
Please provide the specific public API signature diff that you are proposing.
placeholder: API declaration (no method bodies)
value: |
```csharp
namespace System.Collections.Generic;
public class MyFancyCollection<T> : IEnumerable<T>
{
public void Fancy(T item);
}
```
validations:
required: true
- type: textarea
id: api-usage
attributes:
label: API Usage
description: |
Please provide code examples that highlight how the proposed API additions are meant to be consumed. This will help suggest whether the API has the right shape to be functional, performant and usable.
placeholder: API usage
value: |
```csharp
// Fancy the value
var c = new MyFancyCollection<int>();
c.Fancy(42);
// Getting the values out
foreach (var v in c)
Console.WriteLine(v);
```
validations:
required: true
- type: textarea
id: alternative-designs
attributes:
label: Alternative Designs
description: |
Please provide alternative designs. This might not be APIs; for example instead of providing new APIs an option might be to change the behavior of an existing API.
placeholder: Alternative designs
validations:
required: false
- type: textarea
id: risks
attributes:
label: Risks
description: |
Please mention any risks that to your knowledge the API proposal might entail, such as breaking changes, performance regressions, etc.
placeholder: Risks
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/03_blank_issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
name: Blank issue
about: Something that doesn't fit the other categories
title: ''
labels: ''
assignees: ''

---
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/04_request_for_information.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Request for Information
about: Not sure how to do something, just ask.
title: ''
labels: Question
assignees: ''
---

## Ethar Inc. - Ethar GeoPose Request for Information

<!-- As imperfect beings, we try to teach and show how to make using the framework easy to handle, but sometimes we will fall short. Help us to better educate adopters by pointing out where we need to give more information. -->

## What are you trying to achieve?

<!--
Add a clear and concise description of what is it you are trying to implement.
Include screenshots or examples from other projects if it helps.
-->

## What have you already tried

<!--
Have you tried to complete the task yourself but couldn't figure it out, if so what and why?
-->

## What material have you referenced that didn't answer your question

<!--
What other content have you tried reading / viewing that didn't answer your question? Please include links where possible.
-->
35 changes: 35 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Ethar Inc. - Ethar GeoPose Pull Request

## Overview

<!-- Please provide a clear and concise description of the pull request. -->

## Changes

<!-- Brief list of the targeted features that are being changed. -->

- Fixes: <!--issue number or url-->

## Breaking Changes

<!-- Are there any breaking changes included in this change that would prevent or cause issue for existing projects? -->

- Breaks

## Related Submodule Changes

<!-- Include any submodule related Pull Request links here -->
- URL

## Testing status

<!-- Remove the options that do not apply -->
- No tests have been added.
- Includes unit tests.
- Includes performance tests.
- Includes integration tests.

### Manual testing status

<!-- Describe how you tested your implementation/fix. Try to mention all the cases and flows. -->
<!-- It will help the reviewer to understand if you missed any cases or test steps as well as will tell more about your feature or fix. -->
1 change: 1 addition & 0 deletions .github/ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*
41 changes: 41 additions & 0 deletions .github/workflows/develop-buildandtest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Development dotnet build and test

on:
push:
branches-ignore:
- main
- upm

jobs:
build:

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
5.x
6.x
7.x
- uses: actions/cache@v3
with:
path: ~/.nuget/packages
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release
- name: Test with dotnet
run: dotnet test --logger trx --results-directory "TestResults-dotnet-6"
- name: Upload dotnet test results
uses: actions/upload-artifact@v3
with:
name: dotnet-results-dotnet-6
path: TestResults-dotnet-6
# Use always() to always run this step to publish test results when there are test failures
if: ${{ always() }}
84 changes: 84 additions & 0 deletions .github/workflows/main-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: CI Release

on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup dotnet
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
5.x
6.x
7.x
- uses: actions/cache@v3
with:
path: .nuget/packages
# Look to see if there is a cache hit for the corresponding requirements file
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release
- name: Create packages # This would actually build your project, using zip for an example artifact
run: |
zip -r Ethar.GeoPose.zip Ethar.GeoPose/bin/Release
zip -r Ethar.GeoPose.Authority.zip Ethar.GeoPose.Authority/bin/Release
- name: Tag Release
run: |
git config user.email "github-action@users.noreply.github.com"
git config user.name "GitHub Action"
git tag v1.0.0
git add .
git push origin v1.0.0
- name: Create Release
id: create_release
uses: marvinpinto/action-automatic-releases@latest
with:
repo_token: ${{ secrets.CI_TOKEN }}
automatic_release_tag: "latest"
prerelease: false
title: "Release ${{ github.job }}"
draft: false
files: |
./Ethar.GeoPose.zip
./Ethar.GeoPose.Authority.zip
Ethar.GeoPose/bin/Release/Ethar.GeoPose.1.0.0.nupkg
Ethar.GeoPose.Authority/bin/Release/Ethar.GeoPose.Authority.1.0.0.nupkg
- name: Clone UPM branch
uses: actions/checkout@v3
with:
ref: upm
path: upm
token: ${{ secrets.CI_TOKEN }}
- name: Copy Releases to upm
run: |
Copy-Item ./Ethar.GeoPose/bin/Release/net48/Ethar.GeoPose*.* -Destination ./upm/Runtime/Plugins/Ethar.GeoPose -Recurse -Force
Copy-Item ./Ethar.GeoPose.Authority/bin/Release/net48/Ethar.GeoPose.Authority*.* -Destination ./upm/Runtime/Plugins/Ethar.GeoPose.Authority -Recurse -Force
Copy-Item ./Ethar.GeoPose.Examples/Example_BasicSerialization.cs -Destination ./upm/Samples~/BasicSerialization -Force
Copy-Item ./Ethar.GeoPose.Examples/Example_AuthorityImplementation.cs -Destination ./upm/Samples~/AuthorityImplementation -Force
Copy-Item ./Ethar.GeoPose.UnitTests/*.cs -Destination ./upm/Samples~/Tests/Editor/GeoPose -Force
Copy-Item ./Ethar.GeoPose.Authority.UnitTests/*.cs -Destination ./upm/Samples~/Tests/Editor/Authority -Force
shell: pwsh
- name: Publish upm changes
run: |
cd upm
git config user.email "github-action@users.noreply.github.com"
git config user.name "GitHub Action"
git add .
git commit -m "upm package updated to ${{ steps.create_release.outputs.automatic_releases_tag }} [skip ci]"
git push origin upm
git tag upm-v1.0.0
git add .
git push origin upm-v1.0.0
shell: pwsh
- name: Push GeoPose generated package to GitHub registry
run: dotnet nuget push Ethar.GeoPose/bin/Release/Ethar.GeoPose.1.0.0.nupkg --api-key ${{ secrets.NUGET_TOKEN }} --source https://api.nuget.org/v3/index.json --skip-duplicate
- name: Push Ethar Authority generated package to GitHub registry
run: dotnet nuget push Ethar.GeoPose.Authority/bin/Release/Ethar.GeoPose.Authority.1.0.0.nupkg --api-key ${{ secrets.NUGET_TOKEN }} --source https://api.nuget.org/v3/index.json --skip-duplicate
Loading

0 comments on commit f4c6152

Please sign in to comment.