Skip to content

ci: use cache to speed up haskell ci (#2792) #3005

ci: use cache to speed up haskell ci (#2792)

ci: use cache to speed up haskell ci (#2792) #3005

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
name: Service Test Ftp
on:
push:
branches:
- main
pull_request:
branches:
- main
paths:
- "core/src/**"
- "core/tests/**"
- "!core/src/docs/**"
- "!core/src/services/**"
- "core/src/services/ftp/**"
- ".github/workflows/service_test_ftp.yml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
jobs:
vsftpd:
runs-on: ubuntu-latest
services:
ftp:
image: fauria/vsftpd
ports:
- 2121:21
- 20000-22000:20000-22000
env:
FTP_USER: admin
FTP_PASS: admin
PASV_ADDRESS: 127.0.0.1
PASV_MIN_PORT: 20000
PASV_MAX_PORT: 22000
volumes:
- vsftpd-data:/home/vsftpd
steps:
- uses: actions/checkout@v3
- name: Set swap
shell: bash
run: |
SWAP_PATH="swapfile"
sudo fallocate -l 10G $SWAP_PATH
sudo chmod 600 $SWAP_PATH
sudo mkswap $SWAP_PATH
sudo swapon $SWAP_PATH
- name: Swap space report after modification
shell: bash
run: |
echo "Memory and swap:"
free -h
echo
swapon --show
echo
- name: Setup Rust toolchain
uses: ./.github/actions/setup
with:
need-nextest: true
- name: Test
shell: bash
working-directory: core
run: cargo nextest run ftp --features services-ftp
env:
OPENDAL_FTP_TEST: on
OPENDAL_FTP_ENDPOINT: ftp://127.0.0.1:2121
OPENDAL_FTP_ROOT: /
OPENDAL_FTP_USER: admin
OPENDAL_FTP_PASSWORD: admin