Skip to content
This repository has been archived by the owner on Jan 12, 2023. It is now read-only.

Latest commit

 

History

History
163 lines (115 loc) · 3.89 KB

README.md

File metadata and controls

163 lines (115 loc) · 3.89 KB

VersionWatcher

This is a tool for keeping track on project dependencies.

Usage (Tracking)

Wordpress with Bedrock on Circle CI

When tracking wordpress we need to both install wp-cli, composer and wordpress.

  1. Begin with making sure you have a wp-cli.yml file in your repository root that points to your wordpress dir.

    echo "path: src/" > wp-cli.yml
  2. Next, make sure you have a file called test.env in your repo root.

    DB_USER=ubuntu
    DB_NAME=circle_test
    DB_PASSWORD=
    DB_HOST=127.0.0.1
    WP_HOME=
    WP_SITEURL=
    
  3. Copy+paste these sections into your circle.yml file.

    test:
        override:
          - ...
        post:
            # Track dependencies
            - curl -O https://raw.githubusercontent.com/Frojd/VersionWatcher/develop/tools/track.sh && chmod +x ./track.sh
            - ./track.sh wp-bedrock-circle-setup && ./track.sh wordpress

Wordpress Classic on Circle CI

When tracking wordpress we need to both install wp-cli and wordpress.

  1. Begin with making sure you have a wp-cli.yml file in your repository root that points to your wordpress dir.

    echo "path: src/" > wp-cli.yml
  2. Copy+paste these sections into your circle.yml file.

    test:
        override:
          - ...
        post:
            # Track dependencies
            - curl -O https://raw.githubusercontent.com/Frojd/VersionWatcher/master/tools/track.sh && chmod +x ./track.sh
            - ./track.sh wp-circle-setup && ./track.sh wordpress

Python on Circle CI

  1. Copy+paste this section into your circle.yml file.

    test:
        override:
            - ...
        post:
            # Track dependencies
            - curl -O https://raw.githubusercontent.com/Frojd/VersionWatcher/master/tools/track.sh && chmod +x ./track.sh
            - ./track.sh python django

The parameter LABEL is optional and should refer to the framework or cms in use (Example: wagtail, django, flask)

Node.js on Circle CI

  1. Copy+paste this section into your circle.yml file.
test:
    override:
        - ...
    post:
        # Track dependencies
        - curl -O https://raw.githubusercontent.com/Frojd/VersionWatcher/master/tools/track.sh && chmod +x ./track.sh
        - ./track.sh node

C#

  • TODO

Usage (Reading)

  • tracker/stable

Params:

project (example "Frojd/Client-project")
package (example "wordpress:4.7.2")

Developing

This application is built on the serverless framework, hosted on aws, utilizing AWS Lambda and DynamoDB. The application is written in Node.js

Requirements

  • awscli (pip install awscli)
  • node 6.10

Installing

  • npm install

Testing

  • npm test

Deploying

First make sure you have all the correct aws keys setup, the run

  • cd versionwatcher && ../node_modules/serverless/bin/serverless deploy --stage stage
  • aws s3 sync ./frontend s3://versionwatcher/Stage/

(Change to Prod if creating a production release)

Frontend

cd frontend
cp conf.json.example conf.json

Edit conf.json and add your own apikey and endpoint address Run a httpserver inside the folder

Roadmap

  • Tracking PHP + Composer
  • Tracking for Python
  • Add timestamps to tracking model
  • Add commit-id field
  • Tracking for C#
  • Implement endpoint that allows browsing of data
    • Show latest versions
  • Implement api keys
  • Sort result by date
  • Include x-api key in implementation examples
  • Make production release of tool
  • Pretty print date in result listing
  • Lower lambda memory
  • Update Node.js version
  • Error management in request handler