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

Minimal bootstrapped version. #1

Open
14 of 16 tasks
beporter opened this issue Feb 2, 2015 · 4 comments
Open
14 of 16 tasks

Minimal bootstrapped version. #1

beporter opened this issue Feb 2, 2015 · 4 comments

Comments

@beporter
Copy link
Contributor

beporter commented Feb 2, 2015

Write a shell script that:

  • Fetches the latest default ZIP file from puphet.com.
  • Unpacks the zip into the local folder. (A subfolder maybe? We could keep the tooling in the root then.)
  • Commits all changes unceremoniously.
  • Adds a semver tag for the new commit that is one point release (1.0.x) greater than the largest in the repo.
  • Pushes the commit and the tag to the remote.

Additional work:

  • Write a README explaining what this is and how it works.
  • Write a minimal composer.json file to make this repo a Packagist package.
  • Write a minimal post-install composer script that will: (This may be the trickiest part.)
    • Move/overwrite(?) the ROOT/vendor/loadsys/puphpet-release/release/Vagrantfile to ROOT/Vagrantfile
    • Move/overwrite(?) ROOT/vendor/loadsys/puphpet-release/release/puphpet/ to ROOT/puphpet/.
    • Replace the stock ROOT/puphpet/config.yaml (that comes with our composer package) with the (customized) version from ROOT/puphpet.yaml (???), if present.
  • Change this project's composer.json to use that custom composer installer.

Final steps:

  • Make the repo public.
  • Enable the packagist web hook.
  • Set this repo up somewhere and schedule the script described above as a cron job.
  • Test it in a few target projects, and open issues for things that don't work correctly or need improvement (exec-* scripts, for example.)

What am I forgetting?

@beporter
Copy link
Contributor Author

beporter commented Feb 2, 2015

Info on creating a composer custom installer, which if I'm reading correctly, would have to be its own repo: https://getcomposer.org/doc/articles/custom-installers.md

@beporter
Copy link
Contributor Author

beporter commented Feb 6, 2015

I'm going to see what I can do with the first half of this list today since shell scripting is kind of up my alley.

@beporter
Copy link
Contributor Author

beporter commented Feb 9, 2015

The scraper script is largely complete now, and will auto-tag new minor versions. Currently the pushing back to origin is disabled until I can test things a little more.

We're about ready for a composer installer that knows what to do with our release/ folder now.

This was referenced Feb 10, 2015
@beporter
Copy link
Contributor Author

The only thing hold us up from scheduling the scraper to run regularly on our testing server is #3. We need that clone of this repo to auto-update itself before it fetches a new puphpet release and tries to push it back to the remote (GitHub).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant