Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set Up CI pipeline as discussed with Sebastian (IP) #30

Closed
4 tasks done
Meisterlu opened this issue May 10, 2022 · 8 comments · Fixed by #38
Closed
4 tasks done

Set Up CI pipeline as discussed with Sebastian (IP) #30

Meisterlu opened this issue May 10, 2022 · 8 comments · Fixed by #38
Assignees
Labels
enhancement New feature or request Est. size = 2 Small size Real size = 1 Trivial size

Comments

@Meisterlu
Copy link
Collaborator

Meisterlu commented May 10, 2022

User story

  1. As a SD
  2. I want / need a CI pipeline
  3. So that we ensure a correct compilation and testing of the code by the end of sprint3

Acceptance criteria

  • * Create a simple pipeline which builds, automates and compiles the first "Hello World" App
  • * Include unit tests
  • * Main branch protection --> not possible with our rights, therefore clear communication needed
  • Extend CI pipeline (APK-thing)
@codingwithelijah codingwithelijah added this to Product Backlog (new unscheduled features) in Feature Board May 10, 2022
@codingwithelijah codingwithelijah added the enhancement New feature or request label May 10, 2022
@codingwithelijah codingwithelijah moved this from Product Backlog (new unscheduled features) to Sprint Backlog (for features to-be-done) in Feature Board May 11, 2022
@codingwithelijah codingwithelijah moved this from Sprint Backlog (for features to-be-done) to Product Backlog (new unscheduled features) in Feature Board May 11, 2022
@codingwithelijah codingwithelijah moved this from Product Backlog (new unscheduled features) to Sprint Backlog (for features to-be-done) in Feature Board May 11, 2022
@codingwithelijah codingwithelijah added the Est. size = 2 Small size label May 11, 2022
@Chippelius Chippelius moved this from Sprint Backlog (for features to-be-done) to In Progress (for features currently in work) in Feature Board May 11, 2022
@Chippelius
Copy link
Collaborator

Chippelius commented May 11, 2022

We have two problems with the branch protection:

  1. We (or at least I) don't have access to these settings, seems like we would need a role with even more rights
  2. Even if we had access, protected branches are only available to Pro, Team, and Enterprise users

I think, this means we have to omit the "Main branch protection" acceptance criterion and rely on our team sticking to the rules.
@Meisterlu @codingwithelijah

@codingwithelijah
Copy link
Collaborator

Hi @Chippelius:

Regarding 2.: That shouldn´t be a problem, as students are able to upgrade to Pro for free. That´s the only reason why I am Pro as well :)
Regarding 1.: I don´t know if we are able to get more rights. According to Prof. Riehle´s e-mail yesterday, I´m not sure if we will get these rights.

I would leave it up to you whether you try to get the missing rights or whether you just rely on team-intern rules. If you decide to go for the second one, please communicate it clearly to the rest of the team.

image

@Interperle Interperle self-assigned this May 15, 2022
@Chippelius
Copy link
Collaborator

I now also have GitHub Pro, but sadly, I still cannot setup branch protection rules.
For this reason and because I have faith in my team, I will try to stick with communicating it clearly for now.

@Chippelius Chippelius linked a pull request May 15, 2022 that will close this issue
@Chippelius
Copy link
Collaborator

Chippelius commented May 15, 2022

There are multiple options for creating unit tests in C#. The ones I am aware of, which are the ones suggested by Visual Studio when setting up a unit test project, are: MSTest, NUnit, and xUnit.
We decided to go for MSTest by Microsoft in order to try and stay within only one ecosystem, as Xamarin and Visual Studio are also by them.
@NicoStellwag Is this compatible with the SonarCloud solution you are working on for Issue #29 ? (Maybe have a look at the pull-request linked above for reference.)

@Chippelius
Copy link
Collaborator

Also, in order to be able to unit-test components that use Xamarin dependencies, a "mocking"-technique is required that lets the component think all of these depencies are there without having to run the whole Xamarin application on actual target platform.
This problem is described here in the first paragraph: http://jonathanpeppers.com/Blog/mocking-xamarin-forms
The author also presents a solution to this problem, which is a mocking library intended for solving the exact problem we had trying to set up the unit tests: https://github.com/jonathanpeppers/Xamarin.Forms.Mocks / https://www.nuget.org/packages/Xamarin.Forms.Mocks/
This library is released under the MIT license and therefore suitable for our project.
My question to @Meisterlu and @codingwithelijah is now: What would be the right time and way of adding this new dependency to our planning documents? Before or after the sprint review (or during)? Or as soon as the merge request into the dev-branch is accepted (which is the point where it becomes a "permanent" addition to the current sprint's release candidate)?
I am also asking for future reference, because this is likely to not be the last dependency we will add to this project.

@Chippelius
Copy link
Collaborator

@NicoStellwag I just saw your standup mail about having implementing unit tests and intending to add more. Since we were tasked with adding unit-tests that work with the CI-Pipeline, we also had to add some.
So please check the pull request linked above for compatibility with your implementation!

@NicoStellwag
Copy link
Contributor

NicoStellwag commented May 15, 2022 via email

@Meisterlu
Copy link
Collaborator Author

@Chippelius You can add the dependency right now (so before the team meeting). Just make sure everybody is aware of the change. From our side all fine

@Chippelius Chippelius moved this from In Progress (for features currently in work) to Awaiting review (for features to be reviewed) in Feature Board May 16, 2022
@Meisterlu Meisterlu added the Real size = 3 Medium size label May 18, 2022
@codingwithelijah codingwithelijah moved this from Awaiting review (for features to be reviewed) to Product Backlog (new unscheduled features) in Feature Board May 18, 2022
@Meisterlu Meisterlu removed the Real size = 3 Medium size label May 18, 2022
@Meisterlu Meisterlu moved this from Product Backlog (new unscheduled features) to Sprint Backlog (for features to-be-done) in Feature Board May 18, 2022
@Chippelius Chippelius moved this from Sprint Backlog (for features to-be-done) to In Progress (for features currently in work) in Feature Board May 20, 2022
@Chippelius Chippelius moved this from In Progress (for features currently in work) to Awaiting review (for features to be reviewed) in Feature Board May 20, 2022
@codingwithelijah codingwithelijah added the Real size = 1 Trivial size label May 25, 2022
@codingwithelijah codingwithelijah moved this from Awaiting review (for features to be reviewed) to Feature archive (for finished features) in Feature Board May 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Est. size = 2 Small size Real size = 1 Trivial size
Projects
Feature Board
Feature archive (for finished features)
Development

Successfully merging a pull request may close this issue.

5 participants