Source Code Access

Discussion in 'Trials in Tainted Space' started by Gedan, Dec 1, 2016.

  1. Gedan

    Gedan BUTTS BUTTS BUTTS
    Staff Member

    Joined:
    Aug 26, 2015
    EDIT: Public source code is here.

    We're investigating what we actually wanna do right now.

    Truthfully, people providing automated builds of up-to-the-minute commits was only a part of the reason that we made the Github repository private. A secondary, and arguably more immediately pressing concern, was the fact the repo was the most "popular" AS3 project on Github.

    [​IMG]

    We've probably been toeing a line all these years by having the source on github period, but having it placed front-and-center in the public eye was going to earn us the boot sooner or later. Smashing the Privacy button is a quick-fix in the face of that, mainly to ensure we buy ourselves as much potential time as possible whilst we sort an alternative.

    As for what we're doing about it...

    We're moving away from Github, almost certainly, to a self-hosted instance of Gitlab.
    TiTS' source is going to be broken into two versions; a public repo and a private repo.
    Part of our automated build process will push changes from the private repo to the public one whenever we do a public build.
    I'm still investigating automation tools to assist us going the other way, so everything isn't reliant on my-and-mine-alone knowledge of Git tooling.

    As part of this, actually asking for Github access will mostly be irrelevant. The public version of the repo should be anonymously accessible, just as things were on Github.
     
    #1 Gedan, Dec 1, 2016
    Last edited: Jan 4, 2017
    Sicaa and Redjoker like this.
  2. Noob Salad

    Noob Salad Captain Shitpost

    Joined:
    Aug 26, 2015
    noice

    So for pull requests, would you merge into the public repo, and then again into the private one?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    #2 Noob Salad, Dec 1, 2016
    Last edited: Dec 1, 2016
  3. Gedan

    Gedan BUTTS BUTTS BUTTS
    Staff Member

    Joined:
    Aug 26, 2015
    Yeah, that's part of the automation process that I want to implement. I'm learning my way through the Gitlab CI system at the minute, which is going to be part of it; for a PR to merge, it has to compile, and once it passes muster it should get merged into the public AND private versions at the same time.

    It'll also people other than me will need to be more disciplined about branch usage on our end :yes:
     
  4. Gedan

    Gedan BUTTS BUTTS BUTTS
    Staff Member

    Joined:
    Aug 26, 2015
    also oh boy do I love throwing days into shit completely unrelated to actually getting work on the fucking game content done!!!!
     
  5. Dorkulon

    Dorkulon Well-Known Member

    Joined:
    Sep 10, 2015
    I would strongly recommend you do entire-repo multiple snapshot backups when you implement this; it can be astoundingly painful to recover such if and when Jenkins or whatever decides to go nutzoid, or you hit one of the edge conditions where suddenly lots of your commits become unreachable and the tree implodes, or git repack and git fsck decide to not play nice-nice with each other, or... *shiver* *twitch*
     
  6. Redjoker

    Redjoker New Member

    Joined:
    Dec 1, 2016
    This is something I've been worried about for a while (ever since they introduced that "no even potentially objectionable content" bullshit policy), it's really nice to see you've been thinking about it as well.

    And don't think you're wasting your time, a day spent on infra is 30 days saved when some random mod with a stick up their arse deletes your entire repository and you have to recover it!
     
  7. timdraco

    timdraco Member

    Joined:
    May 24, 2016
    If you guys don't mind my input on this, the only problem is that the gitlab ci system has a nasty habit of getting hacked server side and losing data. Make sure to back up everything and I do mean everything you post on there either to a personal computer or cloud so you have copy's. I have lost more data on that system due to hacks then any other download software.
     
    #7 timdraco, Dec 2, 2016
    Last edited: Dec 2, 2016
  8. LurkyDory

    LurkyDory Member

    Joined:
    Sep 10, 2015
    It was bound to happen I suppose. I am not at all surprised at the popularity. AS is kind of a dying language in the grand scheme of things.
    What I am more surprised by is that someone would actually bother setting up an automatic build system for the repo. :)
     
  9. ElAcechador

    ElAcechador Active Member

    Joined:
    May 7, 2016
    I know it's probably a bit late, but you guys might wanna try Go Git Service instead, since gitlab is far more ressource intensive than it should be and can slow down to a crawl trying to display simple diffs between commits. Meanwhile, GOGS can run on a raspberry pi.
     
  10. Gedan

    Gedan BUTTS BUTTS BUTTS
    Staff Member

    Joined:
    Aug 26, 2015
    GOGS got looked at and fired out of a cannon. One guy is acting as overlord of maintaining the codebase and whilst I was playing around with it, the latest release failed to handle teams/groups properly.

    tl;dr theres a fork that has an actual team behind it that seems to be moving faster than GOGS called Gitea - at the very least it wasn't busy falling on its face handling teams, so it's what I've ended up using.

    The Gitea instance will likely never be public. At first I was considering managing a private and a public repo there, but considering the size of the TiTS repo, I don't want to have to handle all the storage requirements for forks. Basically, the Gitea instance ensures we can always work on the game with minimal interruptions from providers of the hosting service.

    What we're going to do is push out code as part of the build process to other service(s). There's a new TiTS repo on github expressly for the public code releases now, and should Github deign to delete/restrict/ban that repo, then we'll move to somewhere else. I think somebody is actually running a massive public gitlab instance for ~adult games~ that I can't remember the name of now. I'd be hesitent to tie our actual working base repo there, but as an outlet for public code releases it would probably work. I might have to track it down and have some words with the people that run it and see.

    Fork and work against the repo on github. Anything you change/contribute/pr there can be brought back across, and I guess those that prove themselves exceptionally competent will eventually wind up with direct access to the Gitea version.

    Also I suppose I'd better actually go slap a license on stuff or something.
     
  11. Dorkulon

    Dorkulon Well-Known Member

    Joined:
    Sep 10, 2015
    I would also suggest, while you're at it, to come up with a Contributor License Agreement so that you can have all your ducks in a row in regard to submissions; if nothing else, it could clarify that y'all have the right to continue storylines or whatever when the original author moves on to greener pastures.

    FWIW, I used gitolite as a very light ACL front-end for git, and didn't hate it too much - but it may be more grubbing around with administration for people's tastes.
     
  12. Kitteh6660

    Kitteh6660 Well-Known Member
    Creator

    Joined:
    Aug 26, 2015
    So with all those changes, how would I get around to contributing? I've written a functional code for shift-clicking to discard items.

    Do I leave a pull request on public repository or what?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Noob Salad

    Noob Salad Captain Shitpost

    Joined:
    Aug 26, 2015
    ya
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. Karretch

    Karretch Well-Known Member

    Joined:
    Aug 26, 2015
    Is there a way for read-only access of backer builds?? I like to typo/bug hunt and having the code allows me to easily figure out what went wrong to post in bug forum.
     
  15. Noob Salad

    Noob Salad Captain Shitpost

    Joined:
    Aug 26, 2015
    Too easy to catch text from image, too hard to prevent copy and pasting.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. Gedan

    Gedan BUTTS BUTTS BUTTS
    Staff Member

    Joined:
    Aug 26, 2015
    This might be an unpopular opinion, but I actually find "potential fixes" a mixed bag. Yes, more often than not they may actually fix a specific instance of an issue, but they often miss a deeper underlying problem or pay no heed to the reason things were they way they were. I can't remember ever having just slammed in a potential fix that somebody has posted about without then also spending a while digging around to see if I can fish up anything else potentially related too, and in many cases, I would have found all the issues faster with a save and fdb.
     
  17. Karretch

    Karretch Well-Known Member

    Joined:
    Aug 26, 2015
    I meant bugs specifically related to the text/scene in an of itself, not anything deeper, like parser issues, missing if statements or the whole page being bold, but I see your point.
     
  18. Dorkulon

    Dorkulon Well-Known Member

    Joined:
    Sep 10, 2015
    A fix in isolation with no context is unhelpful unless it's something immediately and blatantly obvious. The best bug reports I've encountered (in my professional life) have been with a statement of the problem, how to reproduce the problem, and an analysis of the problem. Even if the fixes aren't what's needed (covering up a deeper issue, for instance) the analysis is usually helpful.

    Especially with code from multiple authors with global variables and ill-defined datastructures, the 'obvious' fix is often fairly wrong.
     
  19. Tricks

    Tricks Member

    Joined:
    Jun 6, 2016
    Will we have still have access to the public build source or maybe to old instances of the source? I have been looking into how to add pinch zoom for Android versions.
     
  20. Nik_van_Rijn

    Nik_van_Rijn Well-Known Member

    Joined:
    Sep 10, 2015
     
  21. Tricks

    Tricks Member

    Joined:
    Jun 6, 2016
    Thank you very much.
     
  22. Wishbringer

    Wishbringer New Member

    Joined:
    Apr 5, 2017
    So that's what happened, when the repository changed it didn't occur to me to check the forum (socially awkward, except towards my cats).
    I'm obsessive about perfection, so I play with source-code, kinda like my cats (cn=7) play with toys.
     
    #22 Wishbringer, Apr 5, 2017
    Last edited: Apr 14, 2017
  23. Exastiken

    Exastiken New Member

    Joined:
    Mar 25, 2016
    Can the public source code repository get a push?
     
  24. Upcast Drake

    Upcast Drake Well-Known Member
    Moderator

    Joined:
    May 27, 2017
    What do you mean by this specifically?
     
  25. Exastiken

    Exastiken New Member

    Joined:
    Mar 25, 2016
    I mean a commit, the last one was 26 days ago? Though oddly, the OXOIndustries page says it was updated 6 days ago.
     
  26. Krynh

    Krynh Guest

    It will get one when the next public build is out, that's why its called the public source code.
     
  27. Exastiken

    Exastiken New Member

    Joined:
    Mar 25, 2016
    But wasn't there a steady stream of almost-daily commits up until 27 days ago? I asked because it seems the lack of commits seemed unusual this month.
     
  28. Karretch

    Karretch Well-Known Member

    Joined:
    Aug 26, 2015
    What you're probably seeing is the private master build being merged with the public one, commit history and all. The public version isn't updated until a public build drops.
     
  29. SeriousBlueJewel

    SeriousBlueJewel Well-Known Member

    Joined:
    Nov 5, 2018
    Can i ask as to why the public source code hasn't been updated yet
     
    dragontamer8740 likes this.
  30. Karretch

    Karretch Well-Known Member

    Joined:
    Aug 26, 2015