Skip to content

Commit

Permalink
Covalent Beta Release
Browse files Browse the repository at this point in the history
  • Loading branch information
wjcunningham7 committed Jan 25, 2022
1 parent ded076e commit 7b9847d
Show file tree
Hide file tree
Showing 236 changed files with 26,976 additions and 13 deletions.
25 changes: 25 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

[flake8]
max-line-length = 99
max-complexity = 18
select = B,C,E,F,W,T4,B9
ignore = E501, E722, W503, F401, F403, F811, F841, E203
68 changes: 68 additions & 0 deletions .github/workflows/badges.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: badges

on:
push:
branches:
- master

jobs:
badges:
runs-on: ubuntu-latest
steps:
- name: Check out master
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install anybadge pylint
mkdir -p badges
- name: Read version
run: |
VERSION="$(cat ./VERSION)"
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Generate version badge
run: anybadge -l "version" -v $VERSION -c navy -f badges/version.svg
- name: Generate platform badge
run: anybadge -l "platform" -v "linux-64" -c gray -f badges/platform.svg
- name: Run linter
run: |
pylint covalent covalent_dispatcher --output-format=text --exit-zero | tee pylint.txt
SCORE=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' pylint.txt)
echo "Pylint score was $SCORE"
anybadge -l "pylint" -v $SCORE -f badges/pylint.svg 2=red 4=orange 7=yellow 9=green
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Upload to S3
run: |
aws s3 sync ./badges/ ${{ secrets.AWS_BADGE_BUCKET }} \
--delete \
--cache-control no-cache \
--acl public-read
49 changes: 49 additions & 0 deletions .github/workflows/condabuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: conda

on:
push:
branches-ignore:
- develop
- master

jobs:
conda:
runs-on: ubuntu-latest
steps:
- name: Check out head
uses: actions/checkout@v1
with:
fetch-depth: 0
- name: Check for build change
id: buildchange
run: git diff --name-only origin/develop | grep -e setup.py -e requirements.txt -e meta.yaml
continue-on-error: true
- name: Build conda package
if: steps.buildchange.outcome == 'success'
run: |
conda install conda-build conda-verify
conda config --append channels conda-forge
conda create --name buildenv python=3.8
$CONDA/bin/activate buildenv
conda build --override-channels .
65 changes: 65 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: publish

on:
workflow_call:
secrets:
aws_ecr_repo:
required: true
aws_key_id:
required: true
aws_secret_access_key:
required: true

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out head
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.aws_key_id }}
aws-secret-access-key: ${{ secrets.aws_secret_access_key }}
aws-region: us-east-1
- name: Login to ECR
uses: aws-actions/amazon-ecr-login@v1
- name: Generate tag
run: |
aws --version
docker info
docker --version
TAG="$(cat ./VERSION)"
if aws ecr describe-images \
--repository-name covalent \
--image-ids imageTag=$TAG &> /dev/null ; then
SHORT_SHA="${GITHUB_SHA::8}"
TAG=$TAG-$SHORT_SHA
fi
echo "TAG=$TAG" >> $GITHUB_ENV
- name: Build and push image
run: |
docker build -t ${{ secrets.aws_ecr_repo }} .
docker push ${{ secrets.aws_ecr_repo }}
docker tag ${{ secrets.aws_ecr_repo }} ${{ secrets.aws_ecr_repo }}:$TAG
docker push ${{ secrets.aws_ecr_repo }}:$TAG
34 changes: 34 additions & 0 deletions .github/workflows/publish_develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: Release Development Docker Image to ECR

on:
push:
branches:
- develop

jobs:
publish_develop:
uses: AgnostiqHQ/covalent/.github/workflows/publish.yml@develop
secrets:
aws_ecr_repo: ${{ secrets.AWS_ECR_DEV_REPO }}
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
34 changes: 34 additions & 0 deletions .github/workflows/publish_master.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: Release Docker Image to ECR

on:
push:
branches:
- master

jobs:
publish_master:
uses: AgnostiqHQ/covalent/.github/workflows/publish.yml@develop
secrets:
aws_ecr_repo: ${{ secrets.AWS_ECR_REPO }}
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
42 changes: 42 additions & 0 deletions .github/workflows/push_to_s3.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: push-to-s3

on:
push:
branches:
- develop
- develop-ui

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Check out head
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Deploy static site to S3 bucket
run: aws s3 sync ./covalent_ui/webapp/build-demo/ ${{ secrets.S3_STATIC }} --delete
65 changes: 65 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Copyright 2021 Agnostiq Inc.
#
# This file is part of Covalent.
#
# Licensed under the GNU Affero General Public License 3.0 (the "License").
# A copy of the License may be obtained with this software package or at
#
# https://www.gnu.org/licenses/agpl-3.0.en.html
#
# Use of this file is prohibited except in compliance with the License. Any
# modifications or derivative works of this file must retain this copyright
# notice, and modified files must contain a notice indicating that they have
# been altered from the originals.
#
# Covalent is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the License for more details.
#
# Relief from the License may be granted by purchasing a commercial license.

name: release

on:
push:
branches:
- master

jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Check out master
uses: actions/checkout@v2
with:
persist-credentials: false
fetch-depth: 0
- name: Read version
run: |
VERSION="$(cat ./VERSION)"
echo "VERSION=$VERSION" >> $GITHUB_ENV
echo "RELEASE=v$VERSION" >> $GITHUB_ENV
- name: Tag commit
id: push
run: |
git config user.name "CovalentOpsBot"
git config user.email "[email protected]"
git tag -a $RELEASE -m "Release $RELEASE"
git remote set-url origin https://${{ secrets.COVALENT_OPS_BOT_TOKEN }}@github.com/AgnostiqHQ/covalent.git
git push origin $RELEASE
- name: Generate release message
id: message
run: |
begin=$(grep -n "\b${VERSION}\b" ./CHANGELOG.md | cut -d ':' -f 1)
previous_version=$(git describe --abbrev=0 $RELEASE^ | cut -c2-)
end=$(tail -n +$((begin+1)) ./CHANGELOG.md | grep -n -m 1 "\b${previous_version}\b" | cut -d ':' -f 1)
echo 'MESSAGE<<EOF' >> $GITHUB_ENV
tail +$begin ./CHANGELOG.md | head -$end >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Create release
if: ${{ steps.push.outcome == 'success' && steps.message.outcome == 'success' }}
uses: ncipollo/release-action@v1
with:
body: ${{ env.MESSAGE }}
token: ${{ secrets.COVALENT_OPS_BOT_TOKEN }}
tag: ${{ env.RELEASE }}
Loading

0 comments on commit 7b9847d

Please sign in to comment.