diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml index dd3795420..35b7f75b4 100644 --- a/.github/workflows/build_wheel.yml +++ b/.github/workflows/build_wheel.yml @@ -29,7 +29,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: install dependencies + - name: Install dependencies run: | python -m pip install --upgrade pip pip install wheel twine @@ -42,12 +42,12 @@ jobs: run: | cython ./maro/backends/backend.pyx ./maro/backends/np_backend.pyx ./maro/backends/raw_backend.pyx ./maro/backends/frame.pyx -3 -E FRAME_BACKEND=NUMPY,NODES_MEMORY_LAYOUT=ONE_BLOCK -X embedsignature=True - - name: build wheel on Windows and macOS + - name: Build wheel on Windows and macOS if: runner.os == 'Windows' || runner.os == 'macOS' run: | python setup.py bdist_wheel - - name: build manylinux wheel + - name: Build manylinux wheel if: runner.os == 'Linux' && matrix.python-version == '3.6' uses: RalfG/python-wheels-manylinux-build@v0.3.1-manylinux2010_x86_64 with: @@ -55,13 +55,13 @@ jobs: build-requirements: 'numpy' pip-wheel-args: '-w ./wheelhouse' # save wheel packages to wheelhouse folder - - name: move valid packages to dist folder for manylinux + - name: Move valid packages to dist folder for manylinux if: runner.os == 'Linux' && matrix.python-version == '3.6' run: | mkdir -p dist cp wheelhouse/maro-*-manylinux*.whl dist - - name: build source package on linux + - name: Build source package on linux if: runner.os == 'Linux' && matrix.python-version == '3.6' run: | python setup.py sdist diff --git a/.github/workflows/deploy_docker_image.yml b/.github/workflows/deploy_docker_image.yml index a98f89495..6052457a3 100644 --- a/.github/workflows/deploy_docker_image.yml +++ b/.github/workflows/deploy_docker_image.yml @@ -25,30 +25,23 @@ jobs: # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - name: Set up Python 3.6 + uses: actions/setup-python@v2 + with: + python-version: 3.6 - - name: Build and push Docker images - # You may pin to the exact commit or the version. - # uses: docker/build-push-action@ab83648e2e224cfeeab899e23b639660765c3a89 - uses: docker/build-push-action@v1.1.1 - with: - # Username used to log in to a Docker registry. If not set then no login will occur - username: ${{ secrets.DOCKER_HUB_USERNAME }} - # Password or personal access token used to log in to a Docker registry. If not set then no login will occur - password: ${{ secrets.DOCKER_HUB_PASSWORD }} - # Server address of Docker registry. If not set then will default to Docker Hub - registry: https://hub.docker.com/repository/docker/arthursjiang/maro - # Docker repository to tag the image with - repository: latest - # Comma-delimited list of tags. These will be added to the registry/repository to form the image's tags - tags: citi-bike, inventory-management, operations-research, reinforcement-learning, resource-optimization, simulator - # Automatically tags the built image with the git reference as per the readme - # Path to the build context - path: . - # Path to the Dockerfile (Default is '{path}/Dockerfile') - dockerfile: docker_files/cpu.play.df - # Sets the target stage to build - target: maro/playground:cpu - # Whether to push the image - push: true + - name: Build image + run: | + pip install -r ./maro/requirements.build.txt + cython ./maro/backends/backend.pyx ./maro/backends/np_backend.pyx ./maro/backends/raw_backend.pyx ./maro/backends/frame.pyx -3 -E FRAME_BACKEND=NUMPY,NODES_MEMORY_LAYOUT=ONE_BLOCK -X embedsignature=True + docker build -f ./docker_files/cpu.play.df . -t ${{ secrets.DOCKER_HUB_USERNAME }}/maro:cpu + + - name: Login docker hub + run: | + docker login --username ${{ secrets.DOCKER_HUB_USERNAME }} --password ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: Push image + run: | + docker push ${{ secrets.DOCKER_HUB_USERNAME }}/maro diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..5b8e2e374 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,13 @@ +# Contributing to MARO + +MARO is newborn for Reinforcement learning as a Service (RaaS) in the resource optimization domain. Your contribution is precious to make RaaS come true. + +- [Open issues](https://github.com/microsoft/maro/issues) for reporting bugs and requesting new features. +- Contribute to [examples](https://github.com/microsoft/maro/tree/master/examples) to share your problem modeling to others. +- Contribute to [scenarios](https://github.com/microsoft/maro/tree/master/maro/simulator/scenarios) to provide more meaningful environments. +- Contribute to [topologies](https://github.com/microsoft/maro/tree/master/maro/simulator/scenarios/citi_bike/topologies) to enhance existing MARO scenarios. +- Contribute to [algorithms](https://github.com/microsoft/maro/tree/master/maro/rl/algorithms) to enrich MARO RL libraries. +- Contribute to [orchestration](https://github.com/microsoft/maro/tree/master/maro/cli) to broad MARO supported cloud services. +- Contribute to [communication](https://github.com/microsoft/maro/tree/master/maro/communication) to enhance MARO distributed training capacity. +- Contribute to [tests](https://github.com/microsoft/maro/tree/master/tests) to make it more reliable and stable. +- Contribute to [documentation](https://github.com/microsoft/maro/tree/master/maro) to make it straightforward for everyone. \ No newline at end of file