Skip to content

Commit 2f088b9

Browse files
authored
#65: Prepared documentation for version 0.2.0 (#66)
1. Also added missing files to be compatible with release-droid 2. Updated integration-test-docker-environment to 0.4.0 Fixes #65
1 parent 803f830 commit 2f088b9

10 files changed

+213
-91
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Release Droid - Prepare Original Checksum
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
test-docker-starter:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v2
11+
12+
- name: Test ./exaslct
13+
run: ./exaslct --help
14+
15+
test-installer:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v2
19+
20+
- name: "Run install tests"
21+
run: "bash installer/tests/run_tests.sh"
22+
env:
23+
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
24+
25+
prep-testbed:
26+
runs-on: ubuntu-latest
27+
steps:
28+
- uses: actions/checkout@v2
29+
- id: set-matrix
30+
run: |
31+
sudo apt-get install jq
32+
echo "::set-output name=matrix::$(bash ./get_all_tests.sh)"
33+
outputs:
34+
matrix: ${{ steps.set-matrix.outputs.matrix }}
35+
36+
test-all:
37+
needs: prep-testbed
38+
strategy:
39+
fail-fast: false
40+
matrix:
41+
exasol_version:
42+
- "default"
43+
python_version:
44+
- 3.6
45+
test-path: ${{fromJson(needs.prep-testbed.outputs.matrix)}}
46+
runs-on: ubuntu-latest
47+
steps:
48+
- uses: actions/checkout@v2
49+
50+
- name: Setup Python 3.6 for integration-test-docker-environment
51+
uses: actions/setup-python@v2
52+
with:
53+
python-version: 3.6
54+
- name: Install Poetry
55+
uses: abatilo/[email protected]
56+
57+
- name: Test starter_scripts/exaslct_with_poetry
58+
run: starter_scripts/exaslct_with_poetry.sh --help
59+
60+
- name: Run all tests
61+
run: ./run_test.sh ${{ matrix.test-path }}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Release Droid - Print Quick Checksum
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Dummy step
11+
run: echo "Nothing to do"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Release Droid - Upload GitHub Release Assets
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
upload_url:
7+
description: 'Upload URL'
8+
required: true
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Dummy step
15+
run: echo "Nothing to do"

doc/changes/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# Changes
22

3+
* [0.2.0](changes_0.2.0.md)
34
* [0.1.0](changes_0.1.0.md)

doc/changes/changes_0.2.0.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Script-Languages-Container-Tool 0.2.0, released 2021-07-23
2+
3+
Code name: Update integration-test-docker-environment
4+
5+
## Summary
6+
7+
This release integrates the latest version of Integration-Test-Docker-Environment, v0.4.0,
8+
which provides support for Docker DB v7.0.11.
9+
10+
## Features / Enhancements
11+
12+
- #54: Added OpenSuse42.1 and OpenSuse15.3 CI env tests (#55)
13+
- #50: Add CI checks for other operating systems (#51)
14+
15+
## Bug Fixes
16+
17+
- #52: Fixed mount binding for parameters in format key=value (#59)
18+
- #56: Fixed path_in_bucket default parameter (#62)
19+
- #60: Show error when upload not successful (#61)
20+
- #53: Fixed empty chown directory error (#58)
21+
- #48: Fix exaslct on bash 4.2 (#49)
22+
23+
## Documentation
24+
25+
- #65: prepare release 0.2.0

doc/dependencies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
|decorator|4.4.2|
1919
|docker|5.0.0|
2020
|docutils|0.17.1|
21-
|exasol-integration-test-docker-environment @ git+https://github.com/exasol/integration-test-docker-environment.git@0.3.1 |
21+
|exasol-integration-test-docker-environment @ git+https://github.com/exasol/integration-test-docker-environment.git@0.4.0 |
2222
|gitdb|4.0.7|
2323
|gitpython|3.1.15|
2424
|humanfriendly|9.1|

poetry.lock

Lines changed: 83 additions & 86 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "exasol-script-languages-container-tool"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
description = "Script Languages Container Tool"
55

66
license = "MIT"
@@ -18,7 +18,7 @@ keywords = ['exasol', 'udf', 'script-languages']
1818

1919
[tool.poetry.dependencies]
2020
python = ">=3.6"
21-
exasol-integration-test-docker-environment = {git = "https://github.com/exasol/integration-test-docker-environment.git", branch = "0.3.1"}
21+
exasol-integration-test-docker-environment = {git = "https://github.com/exasol/integration-test-docker-environment.git", branch = "0.4.0"}
2222

2323
[build-system]
2424
requires = ["poetry_core>=1.0.0"]

release_config.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
community-tags:
2+
- CI
3+
- continuous integration
4+
- docker
5+
- docker-db
6+
- script languages
7+
- UDFs
8+
community-project-name: Script Languages Container Tool
9+
community-project-description: |
10+
The Script-Languages-Container-Tool (exaslct) is the build tool for the script language container.
11+
You can build, export and upload script-language container from so-called flavors which are description how to build the script language container.
12+
[Script-Languages-Container-Tool](https://github.com/exasol/script-languages-container-tool).

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222

2323
install_requires = \
2424
['exasol-integration-test-docker-environment @ '
25-
'git+https://github.com/exasol/integration-test-docker-environment.git@0.3.1']
25+
'git+https://github.com/exasol/integration-test-docker-environment.git@0.4.0']
2626

2727
setup_kwargs = {
2828
'name': 'exasol-script-languages-container-tool',
29-
'version': '0.1.0',
29+
'version': '0.2.0',
3030
'description': 'Script Languages Container Tool',
3131
'long_description': "# Script-Languages-Container-Tool\n\n## Overview\n\nThe Script-Languages-Container-Tool (exaslct) is the build tool for the script language container.\nYou can build, export and upload script-language container from so-called flavors \nwhich are description how to build the script language container. You can find pre-defined flavors \nin the [script-languages-release](https://github.com/exasol/script-languages-release) repository. \nThere we also described how you could customize these flavors to your needs.\n\n## In a Nutshell\n\n### Prerequisites\n\n#### For installation\n\nIn order to install this tool, your system needs to provide \nthe following prerequisites:\n\n* Software\n * Linux\n * [bash](https://www.gnu.org/software/bash/) >= 4.2\n * [coreutils](https://www.gnu.org/software/coreutils/)\n * sha512sum\n * sed\n * [curl](https://curl.se/)\n\n#### For running\n\nIn order to use this tool, your system needs to fulfill the following prerequisites:\n\n* Software\n * Linux\n * [bash](https://www.gnu.org/software/bash/) >= 4.2\n * [coreutils](https://www.gnu.org/software/coreutils/)\n * readlink with -f option (the readlink version of macOS doesn't support -f)\n * realpath \n * dirname\n * [Docker](https://docs.docker.com/) >= 17.05 \n * with support for [multi-stage builds required](https://docs.docker.com/develop/develop-images/multistage-build/)\n * host volume mounts need to be allowed\n \n* System Setup \n * We recommend at least 50 GB free disk space on the partition \n where Docker stores its images, on linux Docker typically stores \n the images at /var/lib/docker.\n * For the partition where the output directory (default: ./.build_output)\n is located we recommend additionally at least 10 GB free disk space.\n\nFurther, prerequisites might be necessary for specific tasks. These are listed under the corresponding section.\n\n### Installation\n\nDownload the installation and update script via:\n\n```\ncurl -L -o install_or_update_exaslct.sh https://raw.githubusercontent.com/exasol/script-languages-container-tool/main/installer/install_or_update_exaslct.sh\n```\n\nBefore you continue with installation, please compute with the following command \nthe sha512 hash sum of the downloaded file and compare it with its \n[checksum file](installer/checksums/install_or_update_exaslct.sh.sha512sum):\n\n```\nsha512sum install_or_update_exaslct.sh\n```\n\nIf the checksums are identical, you can continue with the installation. \nPer default, the script installs exaslct into the current working directory.\nIt creates a script directory `exaslct_scripts` and the symlink `exaslct`\nto the starter script. If you want to change the path to the script directory \nyou can set the environment variable `EXASLCT_INSTALL_DIRECTORY` and \nif you want to create the symlink somewhere else you can set `EXASLCT_SYM_LINK_PATH`. \n\n```\nbash install_or_update_exaslct.sh [version|git-commit-id|branch|tag] \n```\n\nYou can use the same script to change the version of your current installation.\nYou only need to provide a different version, git-commit-id, branch or tag. \n\n### Usage\n\n#### How to build an existing flavor?\n\nCreate the language container and export it to the local file system\n\n```bash\n./exaslct export --flavor-path=flavors/<flavor-name> --export-path <export-path>\n```\n\nor upload it directly into the BucketFS (currently http only, https follows soon)\n\n```bash\n./exaslct upload --flavor-path=flavors/<flavor-name> --database-host <hostname-or-ip> --bucketfs-port <port> \\ \n --bucketfs-username w --bucketfs-password <password> --bucketfs-name <bucketfs-name> \\\n --bucket-name <bucket-name> --path-in-bucket <path/in/bucket>\n```\n\nOnce it is successfully uploaded, it will print the ALTER SESSION statement\nthat can be used to activate the script language container in the database.\n\n#### How to activate a script language container in the database\n\nIf you uploaded a container manually, you can generate the language activation statement with\n\n```bash\n./exaslct generate-language-activation --flavor-path=flavors/<flavor-name> --bucketfs-name <bucketfs-name> \\\n --bucket-name <bucket-name> --path-in-bucket <path/in/bucket> --container-name <container-name>\n```\n\nwhere \\<container-name> is the name of the uploaded archive without its file extension. To activate the language, execute the generated statement in your database session to activate the container for the current session or system wide.\n\nThis command will print a SQL statement to activate the language similar to the following one:\n\n```bash\nALTER SESSION SET SCRIPT_LANGUAGES='<LANGUAGE_ALIAS>=localzmq+protobuf:///<bucketfs-name>/<bucket-name>/<path-in-bucket>/<container-name>?lang=<language>#buckets/<bucketfs-name>/<bucket-name>/<path-in-bucket>/<container-name>/exaudf/exaudfclient[_py3]';\n```\n\n**Please, refer to the User Guide for more detailed information, how to use exalsct.**\n\n## Features\n\n* Build a script language container as docker images\n* Export a script language container as an archive which can be used for extending Exasol UDFs\n* Upload a script language container as an archive to the Exasol DB's BucketFS\n* Generating the activation command for a script language container\n* Can use Docker registries, such as Docker Hub, as a cache to avoid rebuilding image without changes\n* Can push Docker images to Docker registries\n* Run tests for you container against an Exasol DB (docker-db or external db)\n\n## Limitations\n\n* Caution with symbolic links: \n If you use symbolic links inside any directory of the command line arguments\n they must not point to files or directories outside the root of the path of the \n command line argument (i.e. --flavor-path ./flavors/my_flavor/ => There must be no symbolic\n link inside ./flavors/my_flavor point to anywhere outside of ./flavors/my_flavor).\n Background: Local directories paths must be mounted manually to the docker container. \n We currently support only the mounting of the given command line arguments, but we do not analyze\n the content of those directories.\n Plan is to fix this limitation with [#35](https://github.com/exasol/script-languages-container-tool/issues/35)\n \n## Table of Contents\n\n### Information for Users\n\n* [User Guide](doc/user_guide/user_guide.md)\n* [Changelog](doc/changes/changelog.md)\n\n## Information for Developers\n\n* [Developer Guide](doc/developer_guide/developer_guide.md)\n* [Dependencies](doc/dependencies.md)\n",
3232
'author': 'Torsten Kilias',

0 commit comments

Comments
 (0)