Comments (22)
I think that using TravisCI would be a good solution for this, the only complication being where the constitution is stored after being compiled. We could write a script to run on san that would allow files to be PUT if a certain key was sent with them. I'm going to contact TravisCI support and see if we can get an organization-wide educational account with the premium features.
from constitution.
Could we just have a cron job somewhere do a git pull && make && rsync *.pdf san.csh.rit.edu:/var/www/priv/constitution/
every midnight, and just not include the PDF on github?
(obviously this requires creating that virtualhost)
from constitution.
ShareLaTeX has a 'cloud compiler' that automatically recompiles changes per commit.
from constitution.
The problem here is compiling process of our constitution, since both documents contain references to each other. I have found countless solutions I would love to set-up but none of them can handle the way we have to compile the documents. If we combined them into one (which I would love and would make searching infinitely easier), you could consider this problem solved.
from constitution.
Just have Travis dump them somewhere on Filer and then symlink it to a directory on San over NFS. That way we don't have to wait for / trigger scripts.
from constitution.
Then you have a world writable file that people frequently download and open.
from constitution.
We could also just set up a cron job that runs the makefile every night or something. Doesn't need to be too fancy.
from constitution.
Just have the CI commit the updated PDF?
from constitution.
I don't see why we would want to store them on filer either way. There's no good reason to have it dependent on NFS.
from constitution.
@sman591 I'd rather keep the binary PDF blobs out of Git in general.
from constitution.
Why would the file be world writable? Also, you aren't going to want to run Travis on San (that's not the point of that box). So if you want it to be served from csh.rit.edu, you are going to need it on San. NFS is probably the most reliable way to do that.
from constitution.
TravisCI works by hooking into the Git hooks that are exposed by GitHub. Upon a new pull request or regular commit TravisCI will trigger a build event where it will compile the constitution.
After the constitution is compiled we need a place to put the PDFs. There's no reason why we can't just drop two PDF files directly on san in somewhere like /var/www/pub/constitution
as opposed to dropping them on filer.
from constitution.
Where are you running Travis though? It shouldn't be on San and if you aren't going to have some weird syncing cron job, than it makes the most sense to transfer them over NFS. We can move the implementation discussion to Bored Room, it doesn't need to be here.
from constitution.
TravisCI is a hosted service, we don't run it locally.
from constitution.
I was under the impression that we were going to host it locally.
from constitution.
TravisCI isn't something you can host yourself unless you want to pay a lot of money.
from constitution.
Can we first elaborate on what problem there is with including the binary?
Our PDF's are relatively small, and while there is a consistency issue, we can trivially solve this with a commit hook for push (as opposed to a maintained server hook).
Binary diffs of this size should be no problem (tm).
from constitution.
@WillDignazio They cause unnecessary merge conflicts every time
from constitution.
There are github commit hooks that can inform us when to do the rebuild, but imo, it's way overkill.
from constitution.
@ComputerScienceHouse/root-type-people Yo can we get that one liner in cron going?
from constitution.
https://constitution.csh.rit.edu/articles.pdf
https://constitution.csh.rit.edu/bylaws.pdf
Enjoy your up to date (every 12 hours [0:00 & 12:00]) constitution.
Warning: Give the CNAME time to propagate or use CSH's DNS servers.
from constitution.
from constitution.
Related Issues (20)
- Issue with References HOT 4
- Punctuation on bullet point lists is inconsistent HOT 1
- Remove Stale Branches HOT 1
- References to other parts of the Constitution and By-Laws don't specify which document they are referring to
- Updating Constitution to match Current RIT Policy
- Full semester is not defined HOT 1
- Define amount of freshmen rooms HOT 2
- Update Eboard's responsibility as mandatory reporters
- update hazing note HOT 1
- Extra dependency needed on Ubuntu
- Clarity for alumni in good standing
- Update number of on-floors + recalculate yearly budget HOT 1
- PR Can't Have a Budget? HOT 2
- Inconsistent use of Executive Board HOT 2
- Problems with terms of membership? HOT 3
- Grammar problem. HOT 1
- We need docs HOT 1
- Text for Amendment 'Remove Housing Evaluations' HOT 2
- On-Floor Status Vote HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from constitution.