Skip to content
This repository has been archived by the owner on Dec 29, 2018. It is now read-only.
/ ictus Public archive

🖼️ The imageboard for the modern web

License

Notifications You must be signed in to change notification settings

electricduck/ictus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ictus

Screenshot of Yiff.co

The code behind Yiff.co, now open to all!

Development

Running

Pre-Requsites

Setting Up

This assumes you have already pulled the repository and are in the root directory.

Restore needed packages
$ cd src/Ictus/
$ dotnet restore # Restore NuGet packages
$ cd ../..

Copy src/Ictus/appsettings.json.example to src/Ictus/appsettings.json and configure accordingly.

Set build environment
export ASPNETCORE_ENVIRONMENT="Development"
Run server
$ cd src/Ictus/
$ dotnet run

Versioning

Ictus's versioning is split up into two parts (although, technically three):

{1}{2}.{3}

  • {1} Short-hand year (e.g. 2017 becomes 17)
  • {2} Release number; an incrementing number, with one leading zero, starting at 1 (e.g. 1 becomes 01). Passing 99 does not reset it back to 00, but goes to 100. This increments everytime there is a new/removed feature, and resets everytime {1} increments.
  • {3} Patch number; an incrementing number, not shown when 0, starting at 0. This increments everytime there is a fix, under-the-hood change, or visible minor change, and resets everytime {2} increments.

For example, 1709.4 translates into Release 9 for 2017, Patch 4.

The version is set in src/Ictus/Data/Constants/VersionConstant.cs.

The version also translates into three parts, which is needed for <VersionPrefix> in src/Ictus/Ictus.csproj. It's easy enough to not explain, but show in a few examples:

  • 17.7.0 is 1707
  • 18.13.5 is 1813.5
  • 19.1.1 is 1901.1
  • 20.0.0 is 2000, which is not valid.

There is also an Unstable bool in src/Ictus/Data/Constants/VersionConstant.cs. This can only ever be set when {3} is "0". Setting this to true means the release (e.g. 1707) is not quite finished yet, and is still considered "beta". {3} should never increment during this phase.

Every release ({2}) also triggers a new codename. Currently, there is, has been, and will be:

  • 1701 'Frisky Fox'
  • 1702 'Kinky Kiwi'
  • 1703 'Dazzling Duck'
  • 1704 'Zesty Zebra'
  • 1705 'Hung Horse'
  • 1706 'Lewd Lion'
  • 1707 'Fabulous Flamingo' (current)
  • 1708 'Twinky Tiger' (future)

Branches

master

The master branch is for production code, which only should ever be merged to when the version increments.

Before merging to master, make sure to update the version in src/Ictus/Data/Constants/VersionConstant.cs and src/Ictus/Ictus.csproj. See the "Versioning" paragraph for more details.

Commits must also be tagged for new versions, prefixed with a short version of the codename; for example, 1703 'Dazzling Duck' becomes duck/1703

develop

The develop branch is for unstable code.

feature/*

If you are working on an issue, you may choose to work on a separate branch. This branch should be named {Tracker}-{Issue ID} (padded with three 0s), and prefixed with feature/ (e.g. feature/ZIT-038 for issue 38 on Zyrio Git).

  • Use BB-XXX for BitBucket.
  • Use GH-XXX for GitHub.
  • Use VSO-XXX for Visual Studio Online
  • Use ZIT-XXX for Zyrio Git.

Make sure your git commits also include the issue number in the message, like [ZIT-000] Message goes here. This is also true if you're choosing to work on an issue on any other branch.

After work is done, this branch should be merged into develop, and then closed when necessary.

About

🖼️ The imageboard for the modern web

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published