Skip to content

Update zip.go

Update zip.go #111

Workflow file for this run

name: STeLLAR Test Pipeline
on:
workflow_dispatch:
push:
# branches: [ main ]
# pull_request:
# branches: [ main ]
schedule:
- cron: '0 8 * * 6'
jobs:
check_syntax:
name: Check syntax
runs-on: ubuntu-22.04
env:
working-directory: ./src
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Check syntax
uses: golangci/golangci-lint-action@v3
with:
working-directory: ${{ env.working-directory }}
args: --timeout 5m --skip-dirs raw-code --verbose
skip-pkg-cache: true
skip-build-cache: true
# build_client:
# name: Build framework
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Build client binary
# working-directory: ${{ env.working-directory }}
# run: |
# docker build -t stellar .
# docker create --name temp stellar /bin/bash
# - name: Package client artifact
# run: |
# mkdir -p "setup/deployment/raw-code"
# docker cp temp:/app/stellar ./main
# docker cp temp:/app/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# tar -czvf build.tar ./main ./setup/deployment/raw-code/functions
# - name: Upload client artifact
# uses: actions/upload-artifact@v3
# with:
# name: STeLLAR-build
# path: build.tar
# retention-days: 1
# unit_tests:
# name: Unit tests
# strategy:
# matrix:
# path:
# [
# ./setup/test/...,
# ./benchmarking/...,
# ./util/...,
# ./setup/building/test/...,
# ./setup/code-generation/test/...,
# ./setup/deployment/packaging/test/...,
# ]
# needs: [ build_client ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
# DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Configure AWS credentials using EASE lab account
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
# aws-region: us-west-1
# - id: auth
# name: Configure GCR credentials
# uses: google-github-actions/auth@v1
# with:
# credentials_json: ${{ secrets.GCR_CREDENTIALS }}
# - name: Set up gcloud
# uses: google-github-actions/setup-gcloud@v1
# with:
# version: ">= 363.0.0"
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Unit tests
# working-directory: ${{ env.working-directory }}
# run: go test -short -v ${{ matrix.path }}
# integration_tests:
# name: Integration tests
# needs: [ build_client ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
# DOCKER_HUB_ACCESS_TOKEN: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
# AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
# AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
# AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
# CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Configure AWS credentials using EASE lab account
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
# aws-region: us-west-1
# - id: auth
# name: Configure GCR credentials
# uses: google-github-actions/auth@v1
# with:
# credentials_json: ${{ secrets.GCR_CREDENTIALS }}
# - name: Set up gcloud
# uses: google-github-actions/setup-gcloud@v1
# with:
# version: ">= 363.0.0"
# - name: Set up Alibaba Cloud credentials
# run: |
# mkdir $HOME/.aliyuncli
# echo "[default]" > $HOME/.aliyuncli/credentials
# echo "aliyun_access_key_secret = $ALIYUN_ACCESS_KEY_SECRET" >> $HOME/.aliyuncli/credentials
# echo "aliyun_access_key_id = $ALIYUN_ACCESS_KEY_ID" >> $HOME/.aliyuncli/credentials
# echo "aliyun_account_id = $ALIYUN_ACCOUNT_ID" >> $HOME/.aliyuncli/credentials
# echo "" >> $HOME/.aliyuncli/credentials
# env:
# ALIYUN_ACCESS_KEY_SECRET: ${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}
# ALIYUN_ACCESS_KEY_ID: ${{ secrets.ALIYUN_ACCESS_KEY_ID }}
# ALIYUN_ACCOUNT_ID: ${{ secrets.ALIYUN_ACCOUNT_ID }}
# - name: Set up Node.js 18
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Install Serverless framework and related plugins
# # functions-have-names appears to be a dependency of serverless-azure-functions
# run: npm install -g [email protected] serverless-azure-functions functions-have-names serverless-aliyun-function-compute
# - name: Install Cloudflare Wrangler
# run: npm install -g wrangler
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Prepare benchmarking functions
# run: |
# mkdir -p "setup/deployment/raw-code"
# cp -R ./src/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# mkdir -p "./src/latency-samples"
# - name: Integration Tests
# working-directory: ${{ env.working-directory }}
# run: go test -short -v ./setup/integration-test/... -timeout 30m
# e2e_azure:
# name: Azure e2e test
# needs: [ build_client, integration_tests ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Set up Node.js 18
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Install Serverless framework and related plugins
# # functions-have-names appears to be a dependency of serverless-azure-functions
# run: npm install -g [email protected] serverless-azure-functions functions-have-names
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Prepare benchmarking functions
# run: |
# mkdir -p "setup/deployment/raw-code"
# cp -R ./src/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# mkdir -p "./src/latency-samples"
# - name: Azure end-to-end test for Python
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/azure/hellopy.json --s true
# env:
# AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
# AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
# AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
# e2e_aws:
# name: AWS e2e test
# needs: [ build_client, integration_tests ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Configure AWS credentials using EASE lab account
# uses: aws-actions/configure-aws-credentials@v4
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
# aws-region: us-west-1
# - name: Set up Node.js 18
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Install serverless framework
# run: npm install -g [email protected]
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Prepare benchmarking functions
# run: |
# mkdir -p "setup/deployment/raw-code"
# cp -R ./src/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# mkdir -p "./src/latency-samples"
# - name: AWS end-to-end test for Go
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/aws/hellogo.json --s true
# e2e_gcr:
# name: GCR e2e test
# needs: [ build_client, integration_tests ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# DOCKER_HUB_USERNAME: ${{ secrets.DOCKER_HUB_USERNAME }}
# DOCKER_HUB_ACCESS_TOKEN: ${{secrets.DOCKER_HUB_ACCESS_TOKEN}}
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - id: auth
# name: Configure GCR credentials
# uses: google-github-actions/auth@v1
# with:
# credentials_json: ${{ secrets.GCR_CREDENTIALS }}
# - name: Set up gcloud
# uses: google-github-actions/setup-gcloud@v1
# with:
# version: ">= 363.0.0"
# - name: Set up Node.js 18
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Prepare benchmarking functions
# run: |
# mkdir -p 'setup/deployment/raw-code'
# cp -R ./src/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# mkdir -p './src/latency-samples'
# - name: GCR end-to-end test for Python
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/gcr/hellopy.json --s true
# - name: GCR end-to-end test for Go
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/gcr/hellogo.json --s true
# - name: GCR end-to-end test for Java
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/gcr/hellogo.json --s true
# e2e_cloudflare:
# name: Cloudflare e2e test
# needs: [ build_client, integration_tests ]
# runs-on: ubuntu-22.04
# env:
# working-directory: ./src
# CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# steps:
# - name: Check out code into the Go module directory
# uses: actions/checkout@v4
# - name: Set up Node.js 18
# uses: actions/setup-node@v3
# with:
# node-version: 18
# - name: Install Cloudflare Wrangler
# run: npm install -g wrangler
# - name: Download client artifact
# uses: actions/download-artifact@v3
# with:
# name: STeLLAR-build
# - name: Untar client build
# working-directory: ${{ env.working-directory }}
# run: tar --strip-components=1 -xvf ../build.tar -C .
# - name: Prepare benchmarking functions
# run: |
# mkdir -p 'setup/deployment/raw-code'
# cp -R ./src/setup/deployment/raw-code/functions setup/deployment/raw-code/functions
# mkdir -p './src/latency-samples'
# - name: Cloudflare end-to-end test for Python
# working-directory: ${{ env.working-directory }}
# run: ./main --o latency-samples --c ../experiments/tests/cloudflare/hellopy.json --s true