mirror of
https://github.com/engineer-man/piston.git
synced 2025-04-22 04:56:30 +02:00
Compare commits
No commits in common. "a1aba52c3a152b3e69e10591e28a33edd9f7a65d" and "abec6cf2444e354d4df90c5570162481c3f6cecd" have entirely different histories.
a1aba52c3a
...
abec6cf244
10 changed files with 8 additions and 95 deletions
62
.github/workflows/package-pr.yaml
vendored
62
.github/workflows/package-pr.yaml
vendored
|
@ -55,9 +55,6 @@ jobs:
|
|||
with:
|
||||
name: packages
|
||||
|
||||
- name: Relocate downloaded packages
|
||||
run: mv *.pkg.tar.gz packages/
|
||||
|
||||
- name: Write test config file
|
||||
uses: DamianReeves/write-file-action@v1.0
|
||||
with:
|
||||
|
@ -74,67 +71,18 @@ jobs:
|
|||
output_max_size: 1024
|
||||
max_process_count: 64
|
||||
max_open_files: 2048
|
||||
repo_url: http://localhost:8000/index
|
||||
repo_url: http://piston_fs_repo:8000/index
|
||||
|
||||
write-mode: overwrite
|
||||
|
||||
- name: Login to GitHub registry
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
registry: docker.pkg.github.com
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
ls -la
|
||||
docker run -v $(pwd)'/repo:/piston/repo' -v $(pwd)'/packages:/piston/packages' -d --name piston_fs_repo docker.pkg.github.com/engineer-man/piston/repo-builder --no-build
|
||||
docker run --network container:piston_fs_repo -v $(pwd)'/data:/piston' -d --name api docker.pkg.github.com/engineer-man/piston/api
|
||||
docker run -v $(pwd)'/repo:/piston/repo' -v $(pwd)'/packages:/piston/packages' --name piston_fs_repo docker.pkg.github.com/engineer-man/piston/repo-builder $PACKAGES &
|
||||
docker run -v $(pwd)'/data:/piston' --name api docker.pkg.github.com/engineer-man/piston/api &
|
||||
echo Waiting for API to start..
|
||||
docker run --network container:api appropriate/curl -s --retry 10 --retry-connrefused http://localhost:6969/runtimes
|
||||
|
||||
echo Waiting for Index to start..
|
||||
docker run --network container:piston_fs_repo appropriate/curl -s --retry 10 --retry-connrefused http://localhost:8000/index
|
||||
|
||||
echo Adjusting index
|
||||
sed -i 's/piston_fs_repo/localhost/g' repo/index
|
||||
|
||||
echo Listing Packages
|
||||
PACKAGES_JSON=$(docker run --network container:api appropriate/curl -s http://localhost:6969/packages)
|
||||
echo $PACKAGES_JSON
|
||||
|
||||
echo Getting CLI ready
|
||||
docker run -v "$PWD/cli:/app" --entrypoint /bin/bash node:15 -c 'cd /app; yarn'
|
||||
|
||||
for package in $(jq -r '.[] | "\(.language)-\(.language_version)"' <<< "$PACKAGES_JSON")
|
||||
do
|
||||
echo "Testing $package"
|
||||
PKG_PATH=$(sed 's|-|/|' <<< $package)
|
||||
PKG_NAME=$(awk -F- '{ print $1 }' <<< $package)
|
||||
PKG_VERSION=$(awk -F- '{ print $2 }' <<< $package)
|
||||
|
||||
echo "Installing..."
|
||||
docker run --network container:api appropriate/curl -sXPOST http://localhost:6969/packages/$PKG_PATH
|
||||
|
||||
TEST_SCRIPTS=packages/$PKG_PATH/test.*
|
||||
echo "Tests: $TEST_SCRIPTS"
|
||||
|
||||
for tscript in $TEST_SCRIPTS
|
||||
do
|
||||
TEST_RUNTIME=$(awk -F. '{print $2}' <<< $(basename $tscript))
|
||||
echo Running $tscript with runtime=$TEST_RUNTIME
|
||||
docker run --network container:api -v "$PWD/cli:/app" -v "$PWD/$(dirname $tscript):/pkg" node:15 /app/index.js run $TEST_RUNTIME $PKG_VERSION /pkg/$(basename $tscript) | grep OK
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
- name: Dump logs
|
||||
if: ${{ always() }}
|
||||
run: |
|
||||
docker logs api
|
||||
docker logs piston_fs_repo
|
||||
|
||||
while [[ "$(curl -s -w '%{http_code}' http://api:6969/runtimes)" != "200" ]]; do sleep 5; done
|
||||
|
||||
echo Testing packages
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ exports.handler = async function(argv){
|
|||
language: argv.language,
|
||||
version: argv['language-version'],
|
||||
files: files,
|
||||
main: path.basename(argv.file),
|
||||
main: argv.file,
|
||||
args: argv.args,
|
||||
stdin,
|
||||
compile_timeout: argv.ct,
|
||||
|
@ -85,8 +85,6 @@ exports.handler = async function(argv){
|
|||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(response.compile) step('Compile', response.compile)
|
||||
step('Run', response.run)
|
||||
|
||||
|
|
2
packages/php/8.0.2/environment
vendored
2
packages/php/8.0.2/environment
vendored
|
@ -1 +1 @@
|
|||
export PATH=$PWD/bin:$PATH
|
||||
export PATH=$PWD/php-8.0.2/bin:$PATH
|
19
packages/ruby/2.5.1/build.sh
vendored
19
packages/ruby/2.5.1/build.sh
vendored
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
curl "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz" -o ruby.tar.gz
|
||||
tar xzf ruby.tar.gz --strip-components=1
|
||||
rm ruby.tar.gz
|
||||
|
||||
./configure --prefix "$PREFIX"
|
||||
make -j$(nproc)
|
||||
make install -j$(nproc)
|
||||
|
||||
cd ..
|
||||
|
||||
rm -rf build
|
1
packages/ruby/2.5.1/environment
vendored
1
packages/ruby/2.5.1/environment
vendored
|
@ -1 +0,0 @@
|
|||
export PATH=$PWD/bin:$PATH
|
6
packages/ruby/2.5.1/metadata.json
vendored
6
packages/ruby/2.5.1/metadata.json
vendored
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"language": "ruby",
|
||||
"version": "2.5.1",
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>",
|
||||
"aliases": ["ruby", "rb"]
|
||||
}
|
3
packages/ruby/2.5.1/run
vendored
3
packages/ruby/2.5.1/run
vendored
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
ruby $*
|
1
packages/ruby/2.5.1/test.rb
vendored
1
packages/ruby/2.5.1/test.rb
vendored
|
@ -1 +0,0 @@
|
|||
puts("OK")
|
|
@ -28,12 +28,10 @@ do
|
|||
elif [[ $CI -eq 1 ]]; then
|
||||
echo "Commit SHA: $pkg"
|
||||
|
||||
cd ..
|
||||
echo "Changed files:"
|
||||
git diff --name-only $pkg^1 $pkg
|
||||
PACKAGES=$(git diff --name-only $pkg^1 $pkg | awk -F/ '{ print $2 "-" $3 }' | sort -u)
|
||||
cd packages
|
||||
|
||||
PACKAGES=$(git diff --name-only $pkg^1 $pkg | awk -F/ '{ print $2 "-" $3 }' | sort -u)
|
||||
echo "Building packages: $PACKAGES"
|
||||
for package in "$PACKAGES"; do
|
||||
make -j16 $package.pkg.tar.gz
|
||||
|
|
|
@ -17,7 +17,6 @@ do
|
|||
PKGCHECKSUM=$(sha256sum $PKGFILE | awk '{print $1}')
|
||||
|
||||
echo "$PKGNAME,$PKGVERSION,$PKGCHECKSUM,$BASEURL$PKGFILE" >> index
|
||||
echo "Adding package $PKGNAME-$PKGVERSION"
|
||||
|
||||
((i=i+1))
|
||||
done
|
Loading…
Add table
Add a link
Reference in a new issue